LAPORAN
PRAKTIKUM
PEMROGRAMAN
APLIKASI BERGERAK
MODUL
II
Command
& CommandListener
Disusun oleh :
Nama : Dadan Ramdani
NIM : 2009081051
Kelas : TI 2009 C
LABORATORIUM
KOMPUTER
FAKULTAS
ILMU KOMPUTER
UNIVERSITAS
KUNINGAN
2012
MODUL II
Command & CommandListener
Menurut
definisinya kelas Command adalah sebuah konstruksi yang membungkus semua
hal-hal atau informasi yang berkaitan dengan sebuah aksi. Perilaku dari aksi
itu sendiri tidak dibungkus didalam objek Command, melaikan harus didefinisikan
secara eksplisit melalui method commandAction(), yaitu method yang harus
didefinisikan pada saat kita mengimplementasikan interface CommandListener. Ini
artinya objek Command hanya berisi informasi tentang perintah, bukanlah sebuah
aksi aktual yang terjadi pada saat objek Command diaktivasi. Aksi-aksi yang
telah didefinisikan pada interface CommandListener kemuadian akan diasosiasikan
dengan layar aktif sehingga objek-objek Command yang terdapat pada layar
tersebut dapat diaktivasi sesuai dengan kebutuhannya.
Latihan
1.
Jalankan J2ME wireless
toolkit, yaitu dengan memilih menu start à
programs à J2ME wireless toolkit à
Ktoolbar.
2.
Setelah itu muncul
jendela J2ME wireless toolkit.
3.
Buat sebuah project
baru dengan memilih menu File | new project, sehingga akan muncul kotak dialog
untuk melakukan input nama project dan nama kelas dari MIDlet yang akan dibuat.
Isi dengan nama praktikum2_1 dan nama class MIDlet HelloMIDlet2
4.
Pilih tombol create
project, dan lakukan setting dari project yang akan dibuat pada form yang
ditampilkan
5.
Klik OK dan akan tampil
pesan berikut
6.
Ketik sintak program
berikut.
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloMIDlet2 extends MIDlet implements CommandListener
{
// deklarasi variable bertipe Display yang bersifat
private
private
Display display;
// deklarasi variable bertipe Command
private
Command cmdKeluar;
// mendefinisikan Constructor
public
HelloMIDlet2() {
display=Display.getDisplay(this);
}
public void
startApp() {
// instansiasi objek textBox
TextBox
tb=new TextBox("Hello MIDlet","Hello salam kenal
MIDlet....!", 256,0);
// instansiasi objek Command
cmdKeluar=new
Command("Keluar", Command.EXIT,1);
// menambahkan objek Command ke TextBox
td.addCommand(cmdKeluar);
// menset CommandListener dari objek TextBox
tb.setCommandListener(this);
display.setCurrent(tb);
}
public void
pauseApp() {
}
public void
destroyApp(boolean unconditional) {
}
public void
commandAction(Command c, Displayable s) {
if(c==
cmdKeluar) {
destroyApp(false);
notifyDestroyed();
}
}
}
7.
Simpan dengan nama
HelloMIDlet2.java
8.
Compile file dengan
memilih menu Project | build pada Ktoolbar
9.
Jalankan program dengan
memilih menu Project | run
10.
Untuk menjalankan
MIDlet klik launch
Latihan
2
1.
Jalankan J2ME wireless
toolkit, yaitu dengan memilih menu start à
programs à J2ME wireless toolkit à
Ktoolbar.
2.
Setelah itu muncul
jendela J2ME wireless toolkit.
3.
Buat sebuah project
baru dengan memilih menu File | new project, sehingga akan muncul kotak dialog
untuk melakukan input nama project dan nama kelas dari MIDlet yang akan dibuat.
Isi dengan nama praktikum2_2 dan nama class MIDlet TestMIDlet
4.
Pilih tombol create
project, dan lakukan setting dari project yang akan dibuat pada form yang
ditampilkan
5.
Klik OK dan akan tampil
pesan berikut
6.
Ketik sintak program
berikut.
import
javax.microedition.midlet.*;
import
javax.microedition.lcdui.*;
public
class TestMIDlet extends MIDlet {
private Display display;
private Command cmdKeluar;
private Command cmdHello;
private TextBox tb;
private CommandListener listener;
//mendefinisikan
construktor
public TestMIDlet() {
display=Display.getDisplay(this);
}
public void startApp() {
tb=new
TextBox("CommandListener", null, 256, 0);
cmdKeluar=new
Command("Keluar", Command.EXIT, 1);
tb.addCommand(cmdKeluar);
cmdHello=new
Command("Hello", Command.SCREEN, 1);
tb.addCommand(cmdHello);
//
mengeset CommandListener dari objek TextBox
listener=(CommandLIstener)
new ContohListener();
tb.setCommandListener(listener);
display.setCurrent(tb);
}
public void pauseApp() {
}
public void destroyApp(boolean
unconditional) {
}
//
mendeklarasikan inner class
class ContohListener implements
CommandListener {
public void
commandAction(Command c, Displayable s) {
if(c==cmdKeluar)
{
destroyApp(false);
notifyDestroyed();
}
else
if(c==cmdHello) {
tb.setString("Hello
Salam Kenal MIDlet....!");
}
}
};
}
7.
Simpan dengan nama TestMIDlet.java
8.
Compile file dengan
memilih menu Project | build pada Ktoolbar
9.
Jalankan program dengan
memilih menu Project | run
10.
Untuk menjalankan
MIDlet klik launch
TUGAS
1.
Buat sebuah project
baru dengan memilih menu File | new project, sehingga akan muncul kotak dialog
untuk melakukan input nama project dan nama kelas dari MIDlet yang akan dibuat.
Isi dengan nama FirstCommand dan nama class MIDlet FirstCommand
2.
Pilih tombol create
project, dan lakukan setting dari project yang akan dibuat pada form yang
ditampilkan
3.
Klik OK dan akan tampil
pesan berikut
4.
Ketik sintak program
berikut.
import
javax.microedition.midlet.*;
import
javax.microedition.lcdui.*;
public
class FirstCommand extends MIDlet {
Display display;
private MainCanvas mainCanvas;
public FisrtCommand() {
display=Display.getDisplay(this);
}
public void startApp() {
mainCanvas=new
MainCanvas(this, display);
display.setCurrent(mainCanvas);
}
public void pauseApp() {
}
public void destroyApp(boolean
unconditional) {
}
public void exitMIDlet() {
destroyApp(false);
notifyDestroyed();
}
}
5.
Simpan dengan nama
FirstCommand.java
6.
Compile file dengan
memilih menu Project | build pada Ktoolbar
7.
Jalankan program dengan
memilih menu Project | run
8.
Untuk menjalankan
MIDlet klik launch
1.
Buat sebuah project
baru dengan memilih menu File | new project, sehingga akan muncul kotak dialog
untuk melakukan input nama project dan nama kelas dari MIDlet yang akan dibuat.
Isi dengan nama MainCanvas dan nama class MIDlet FirstCommand
2.
Pilih tombol create
project, dan lakukan setting dari project yang akan dibuat pada form yang
ditampilkan
3.
Klik OK dan akan tampil
pesan berikut
4.
Ketik sintak program
berikut.
import javax.microedition.lcdui.*;
class MainCanvas
extends Canvas implements CommandListener {
private Display display;
private FirstCommand midlet;
private String string="Command OK";
private Command cmOk, cmBack, cmCancel, cmStop, cmExit,
cmHelp, cmScreen, cmItem;
public MainCanvas(FisrtCommand midlet, Display display) {
this.midlet=midlet;
this.display=display;
cmOk=new
Command("OK",Command.OK,1);
addCommand(cmOk);
cmBack=new
Command("BACK",Command.BACK,1);
cmCancel=new Command("CANCEL",Command.CANCEL,1);
cmStop=new
Command("STOP",Command.STOP,1);
cmHelp=new
Command("HELP",Command.HELP,1);
cmScreen=new
Command("SCREEN",Command.SCREEN,1);
cmItem=new
Command("ITEM",Command.ITEM,1);
cmExit=new
Command("EXIT",Command.EXIT,1);
setCommandListener(this);
}
protected void paint(Graphics g) {
g.setColor(255,255,255);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(0,0,0);
g.setFont(Font.setFont(Font.FACE_PROPORTIONAL,font.STYLE_PLAIN,Font.SIZE_LARGE));
g.drawString(string,10,(getHeight()/2),
Graphics.TOPGraphics.LEFT);
}
public void commandAction(Command c, Displayable s) {
if(c==cmExit) {
midlet.exitMIDlet();
}
else {
if (c==cmOk) {
string="Command BACK";
removeCommand(cmOk);
addCommand(cmBack);
}
else if(c==cmBack) {
string="Command
CANCEL";
removeCommand(cmBack);
addCommand(cmCancel);
}
else if(c==cmCancel) {
string="Command STOP";
removeCommand(cmCancel);
addCommand(cmStop);
}
else if(c==cmStop) {
string="Command HELP";
removeCommand(cmStop);
addCommand(cmHelp);
}
else if(c==cmHelp) {
string="Command
SCREEN";
removeCommand(cmHelp);
addCommand(cmScreen);
}
else if(c==cmScreen) {
string="Command ITEM";
removeCommand(cmScreen);
addCommand(cmItem);
}
else if(c==cmItem);
string="Command EXIT";
removeCommand(cmItem);
addCommand(cmExit);
}
repaint();
}
}
};
5.
Simpan dengan nama MainCanvas.java
6.
Compile file dengan
memilih menu Project | build pada Ktoolbar
7.
Jalankan program dengan
memilih menu Project | run
8.
Untuk menjalankan
MIDlet klik launch
KESIMPULAN
Command adalah sebuah obyek yang digunakan
untuk merespon user pada sebuah aplikasi. Sering diasosiasikan sebagai softkey,
tombol ataupun area pada touchscreen. Sangat berperan penting
dalam event handling pada J2ME. Pada penggunaanya, Command
didefinisikan dengan mengimplementasikan CommandListener. Command(String
label, int commandType, int priority).
Command memiliki 3 atribut, yaitu :
Command memiliki 3 atribut, yaitu :
§
label : menampilkan nama pada tombol
Command
§
type : menentukan fungsi dari Command.
Jenis type Command antara
lain BACK,EXIT, OK, HELP, CANCEL, SCREEN, ITEM,
dan STOP.
§
priority : menentukan urutan prioritas
dalam menampilkan Command pada layar
Command adalah objek yang
memungkinkan pemakai melakukan aksi.
Objek Fungsi Command sama dengan
tombol (button) pada aplikasi dekstop / web.
- Command membutuhkan antarmuka (interface) CommandListener untuk menangkap even dari Command .
- Saat membuat sebuah aplikasi J2ME jangan lupa membuat sebuah Command untuk keluar dari aplikasi, karena jika ponsel tidak mendukung keluar aplikasi dengan sendirinya maka ponsel harus dimatikan untuk keluar dari aplikasi J2ME.
- Objek Command didefinisikan pada library J2ME dengan kelas:
javax.microedition.lcdui.Command
Tidak ada komentar:
Posting Komentar