Siang ini, aku nge-les-in 2 mahasiswa yang mau belajar J2ME (ternyata masih ada ya yang mau belajar J2ME, kirain udah kegusur sama android). Nah, materi hari ini aku kasih tentang List. Ternyata, di blog ini, aku belum pernah nulis tentang list IMPLICIT.
List IMPLICIT ini agak berbeda dari saudara-saudaranya yang lain (EXCLUSIVE dan MULTIPLE). Pada list dengan tipe IMPLICIT ini, kita bisa langsung memberikan aksi pada list tersebut tanpa perlu bantuan item COMMAND (semacam button di J2ME), dengan menggunakan SELECT_COMMAND. Berikut sintaks lengkapnya.
FormLogin.java
import javax.microedition.lcdui.Command; import javax.microedition.lcdui.Form; import javax.microedition.lcdui.TextField; /** * * @author dyahfajar */ public class FormLogin extends Form{ TextField txtUser; TextField txtPasswd; Command cmdLogin; public FormLogin() { super("Halaman Login"); txtUser = new TextField("Username", "", 20, TextField.ANY); txtPasswd = new TextField("Password", "", 20, TextField.PASSWORD); cmdLogin = new Command("Login", Command.OK, 0); append(txtUser); append(txtPasswd); addCommand(cmdLogin); } }
ListMultiple.java
import javax.microedition.lcdui.Command; import javax.microedition.lcdui.List; /** * * @author dyahfajar */ public class ListMultiple extends List{ Command cmdBack; public ListMultiple() { super("Colour", MULTIPLE); append("Blue", null); append("Black", null); append("White TV", null); append("Green", null); cmdBack = new Command("Back", Command.BACK, 0); } }
ListExclusive.java
import javax.microedition.lcdui.Command; import javax.microedition.lcdui.List; /** * * @author dyahfajar */ public class ListExclusive extends List{ Command cmdBack; public ListExclusive() { super("Pasta", EXCLUSIVE); append("Spaghetti", null); append("Fettucini", null); append("Bolognase", null); cmdBack = new Command("Back", Command.BACK, 0); addCommand(cmdBack); } }
MainMenu.java
import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.List; import javax.microedition.midlet.*; /** * @author dyahfajar */ public class MainMenu extends MIDlet implements CommandListener{ List menuList; Display dsp; // deklarasi untuk pemanggilan class lain FormLogin frmLogin; ListMultiple listMult; ListExclusive listExc; public MainMenu() { // instansiasi setiap object yang dideklarasikan dsp = Display.getDisplay(this); frmLogin = new FormLogin(); listExc = new ListExclusive(); listMult = new ListMultiple(); menuList = new List("Menu Utama", List.IMPLICIT); // pendefinisian daftar menu yang akan muncul sebagai list menuList.append("List Multiple", null); // --> index 0 menuList.append("List Exclusive", null); // --> index 1 menuList.append("Exit", null); // --> index 2 //melakukan pengaturan supaya form dan list bisa mendengarkan event // yang dilakukan oleh user frmLogin.setCommandListener(this); menuList.setCommandListener(this); } public void startApp() { dsp.setCurrent(frmLogin); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void commandAction(Command c, Displayable d) { if (c == frmLogin.cmdLogin){ //pengecekan sangat sederhana input username dan password if (frmLogin.txtUser.getString().equals("dyah") && frmLogin.txtPasswd.getString().equals("dyah")){ dsp.setCurrent(menuList); } } else if (c == menuList.SELECT_COMMAND){ //ngecek satu persatu list if (menuList.getSelectedIndex() == 2){ notifyDestroyed(); destroyApp(true); } else if (menuList.getSelectedIndex() == 0){ dsp.setCurrent(listMult); } else if (menuList.getSelectedIndex() == 1){ dsp.setCurrent(listExc); } } } }
Komentar
Posting Komentar
Terima kasih sudah membaca....^^