Praktek J2ME 3 : Penggunaan 2 Form dan Command

18.41 Diposting oleh Gunawan

Pada Praktek kali ini kita akan mencoba membuat sebuah midlet menggunakan 2 buah form perhatikan gambar berikut.

Script yang digunakan untuk menghasilkan tampilan di atas adalah :


package Command;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class DuaCommand extends MIDlet implements CommandListener {
Display display = null;
Form f1 = null;
Form f2 = null;

// command
Command firstFormCommand =
new Command("1st Form", "Go to First Form", Command.SCREEN, 0);
Command secondFormCommand =
new Command("2nd Form", "Go to Second Form", Command.SCREEN, 0);
Command exitCommand =
new Command("Exit", Command.EXIT, 1);
public void startApp() {
display = Display.getDisplay(this);

f1 = new Form( "Form 1" );
f1.append( "This is Form No. 1" );
f1.addCommand(secondFormCommand);
f1.addCommand(exitCommand);
f1.setCommandListener(this);

f2 = new Form( "Form 2" );
f2.append( "This is Form No. 2" );
f2.addCommand(firstFormCommand);
f2.addCommand(exitCommand);
f2.setCommandListener(this);

display.setCurrent( f1 );
}
public void pauseApp() {
}

public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) { String label = c.getLabel(); if (label.equals("Exit")) { notifyDestroyed(); } else if (label.equals("1st Form")) { Display.getDisplay(this).setCurrent( f1 ); } else { Display.getDisplay(this).setCurrent( f2 ); } }
}

Pertama pendefinisian form baik form 1 atau form 2 dilakukan di methode startApp() untuk menampilkan masing-masing form dibutuhkan command , perintah pemanggilan form yang dilakukan oleh command di definisikan pada methode commandAction(). Perhatikan script yang berwarna merah

Praktek 2 J2ME : Command Action J2ME

21.08 Diposting oleh Gunawan

Praktek berikut merupakan kelanjutan dari praktek sebelumnya yaitu penambahan command.

Pada J2ME, Command direpresentasikan sebagai soft-button pada device. Gambar berikut ini memperlihatkan dua Command Object, satu dengan label “Exit“ dan satunya lagi “View“.

Langkah sederhana untuk memproses event dengan sebuah Command object :
1. Ciptakan sebuah Command object
2. Tambahkan command tersebut ke sebuah Form (atau object GUI lain seperti TextBox, List, atau Canvas)
3. Ciptakan dan tentukan sebuah listener untuk Form

Setelah proses deteksi sebuah event, listener akan memanggil method commandAction()
CommandAction() merupakan interface dari CommandListener.

Contoh pendefinisian Command pada J2ME lihat gambar berikut :

Type, selain digunakan untuk menandakan Command yang akan dipakai, juga untuk membantu device mengatur command. Berikut type-type dari command :


Ok sekarang kita akan mencoba mengedite script sebelumnya sehingga menjadi seperti berikut :
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class Hello extends MIDlet implements CommandListener{
public Hello(){}
public void startApp(){
Command c=new Command("Exit", Command.EXIT, 0);
Form f=new Form("Program pertama");
f.append("Selamat Datang di Dunia Mobile");
f.addCommand(c); f.setCommandListener(this);
Display.getDisplay(this).setCurrent(f);
}
public void pauseApp(){}
public void destroyApp(boolean b){}

public void commandAction(Command c, Displayable g) { notifyDestroyed(); }
}
Penamabahan pada script sebelumnya adalah script yang berwarna merah.
pertama kita mengimplementasikan commandlisterner pada midlet. selanjutnya saat aplikasi di jalankan yaitu pada method startApp() dibuatkan sebuah command dengan nama variabel c dengan nama comand EXIT dan di masukan pada form f dengan perintah f.addcommand(c);

Perintah f.setCommandListener(this) merupakan perintah yang akan di jalankan saat menekan command exit
yaitu this. This pada perintah disini berarti menjalankan methode commandAction yang ada pada MIDlet tersebut.

Selanjutnya pada methode midlet terdapat perintah notifyDestroyed(); merupakan perintah untuk mengakhiri aplikasi.

Hasil script tersebut seperti berikut:

perhatikan gambar diatas terdapat tombol ext. jadi sekarang jangan takut untuk mencoba aplikasi tersebut.

Ok... udah pahamkah anda .. bila belum silahkan coba latihan berikut:



import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

/**
* @author admin
*/
public class TextBoxCommand extends MIDlet {
private CommandListener li;
private Command cmdKeluar;
private Command cmdHaloo;
private TextBox tb;
public void startApp() {
tb=new TextBox("Command Text Box", "depan",255,0);
cmdKeluar=new Command("Keluar",Command.EXIT,0);
cmdHaloo=new Command("haloo",Command.SCREEN,1);
tb.addCommand(cmdKeluar);
tb.addCommand(cmdHaloo);
li=(CommandListener) new contohListener();
tb.setCommandListener(li);
Display.getDisplay(this).setCurrent(tb);

}

public void pauseApp() {
}

public void destroyApp(boolean unconditional) { }

//Class untuk Command
class contohListener implements CommandListener{
public void commandAction(Command c, Displayable g){
if(c == cmdKeluar){
destroyApp(false);
notifyDestroyed();
}else if(c == cmdHaloo){
tb.setString("Halooo.... test TextBOX Command");

}

}

}
}
Hasil dari script diatas adalah seperti berikut :

Praktek 1 J2ME : Pengenalan Dasar J2ME

19.21 Diposting oleh Gunawan

Sebuah Aplikasi yang dibuat menggunakan MIDP (Aplikasi HP menggunakan J2ME) disebut sebagai MIDLet, sedangkan Aplikasi yang dibuat di PC (Komputer) menggunakan Delphi, Visual Basic, J2SE dll disebut Program / Software.

Ada Pertanyaan : Mengapa aplikasi yang dibuat menggunakan J2ME dengan Profile MIDP de sebut MIDlet?

Alasannya cukup simple yaitu MIDlet merupakan bagian dari javax.microedition.midlet.*; dan sebuah MIDlet harus turunan dari class midlet. Artinya wabjib hukumnya aplikasi apapun yang dubuat menggunakan Profile MIDP harus mengimplementasikan class midlet dengan perintah seperti berikut :
import javax.microedition.midlet.*;
public class NamaProgram extends MIDlet {

}


Aplikasi MIDlet yang di buat akan bergerak mengikuti methode startApp(), pauseApp(), dan destroyApp(). perhatikan gambar berikut :
Gambar diatas menggambarkan alur dari aplikasi midlet yaitu saat aplikasi dijalankan dari keadaan pause methode yang pertama kali di panggil adalah methode startApp(), dari methode ini aplikasi bisa di pause dengan memanggil methode pauseApp() kemudian di matikan dengan memanggil methode destroyApp() atau bisa langsung memanggil destroyApp() dari keadaan start.

Jadi dapat disimpulkan bahwa untuk membangun aplikasi MIDlet harus / wajib memiliki 5 baris script berikut :

import javax.microedition.midlet.*;
public class NamaAplikasi extends MIDlet{
public void startApp(){ -----Script untuk menjalankan aplikasi di masukan disini--- }

public void pauseApp(){ ----Script Untuk pause di taruh di sini----}

public void destroyApp() { ----Script Untuk Mematikan / memberhentikan aplikasi diketik disini ---- }
}

Ok... sekarang kita akan mencoba membuat aplikasi sederhana dari penjelasan diatas.
Software yang dibutuhkan :
1. Java SDK 6 >
2. Emulator Java Wireless Tool Kit / Java WTK 2.5
3. Notepad++ sebagai GUI.

Langkah:
1. Install semua aplikasi di atass
2. Buka Wireless tool KIt WTK 2.5 dengan cara Start --> Sun Java Wireless Tool Kit 2.5 for CLDC --> Wireless ToolKit 2.5. perhatikan gambar berikut :


3. Klik File --> New Project


4. Masukan Project Name Bebas Misalnya : Hello dan
MIDlet Class Name Misalnya : Hello
pada dialog yang tampil.
info: Perhatikan nama MIDlet Class Name haruss sesuai dengan nama class saat membuat aplikasi Besar kecil berpengaruh

5. klik create project untuk mengakhiri. Pada popup yang tampil klik OK.
(Popup yang tampil kali ini ti di rincikan)
6. Bila project sudah kita buat, sekarang buka notepad atau notepad++ yang sudah di install. ketik Source Code dibawah ini :

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Hello extends MIDlet{
public Hello(){}
public void startApp(){
Form f=new Form("Program pertama");
f.append("Selamat Datang di Dunia Mobile");
Display.getDisplay(this).setCurrent(f);
}
public void pauseApp(){}
public void destroyApp(boolean b){}
}


6. Simpan dengan nama Hello.java sesuai dengan nama kelas di folder berikut

C:\WTK25\apps\Hello\src -->hello merupakan nama project perhatikan warna biru pada artikel ini
(perhatikan tulisan merah pada artikel ini bentuk penulisan harus sama, ingat java bersifat case sensitif)

7. Aktifkan kembali Java Wireless toolkit 2.5 kemudian klik Buil .
jika tidak terjadi eror klik RUN untuk menjalankan aplikasi.

hasilnya seperti gambar berikut :

Selamat anda telah berhasil membuat MIDlet pertama ucapan selamat datang

Mau di coba di jalankan di HP :D. Boleh caranya gini :

cari file Hello.jar yang ada di
C:\WTK25\apps\Hello\dist

tinggal di jalankan deh di Hpnya :D wahhhh tapi hati2 Midlet tersebut belum memiliki tombol exit jadi kalo di jalankan di hp nanti aplikasinya tidak bisa di keluarkan harus hpnya di matikan :D.

tapi jangan takut pada praktek selanjutnya kita akan mencoba membuat Command Exit untuk contoh di atas :D

selemat mencoba.