String Item pada J2ME

August 12th, 2009 by adxpoetra Leave a reply »

Hmm, ni postingan yang aku sempet tulis di blog aku. Aku pindahin ke sini sebagai postingan pertamaku. Kali ini aku pengen membahas High Level API dari J2ME yaitu penggunaan string list untuk membuat menu sederhana. Ok ku coba sedikit jelasin tentang String Item deh. String Item itu merupakan class turunan dari javax.microedition.lcdui.Item ato bisa di tulis public classStringItem extends Item. Jadi String Item itu sebuah Item yang dapat diisi String. Constructor untuk membuat StringItem sendiri ada dua yaitu :

- StringItem(String label, String text)

- StringItem(String label, String text, int appearanceMode)

untuk appearance mode itu mengatur bentuk tampilan dari String Item itu sendiri. Ada 3 yaitu Plain, Hyperlink dan Button. Jadi kita bisa menentukan bentuk tampilan dari String Item yang kita buat.

Ok Ni Midlet Utamanya, aku kasih nama Main.java:

<pre>import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

public class Main extends MIDlet {
 Display display;
 private Menu menu;

public Main(){

display = Display.getDisplay(this);
}

public void startApp() {
 menu = new Menu(this, display);
 display.setCurrent(menu);
}

public void pauseApp() {}

public void destroyApp(boolean unconditional) {}

public void keluarMidlet(){
 destroyApp(false);
 notifyDestroyed(); }
}

Untuk Menunya aku kasih nama Menu.java :

import javax.microedition.lcdui.*;

public class Menu extends Form implements ItemCommandListener,ItemStateListener, CommandListener {

 private Main midlet;
 private Display display;
 private Command Pilih1,Pilih2, Keluar;
 private StringItem menu1, menu2;

public Menu(Main midlet, Display display){
super("Silahkan Pilih");
this.midlet = midlet;
this.display = display;

Pilih1 = new Command("Pilih", Command.SCREEN,1);
Pilih2 = new Command("Pilih", Command.SCREEN,2);
Keluar = new Command("Keluar",Command.BACK,1);

menu1 = new StringItem(null, "Menu1 \n");
menu1.setDefaultCommand(Keluar);//menampilkan Command Keluar
menu1.setDefaultCommand(Pilih1);//menampilkan Command Pilih
menu1.setItemCommandListener(this);
menu1.setLayout(3);//untuk menampilkan StringItem 1=kiri,2=kanan, 3=tengah
append(menu1);

menu2 = new StringItem(null, "Menu 2 \n");
menu2.setDefaultCommand(Keluar);//menampilkan Command Keluar
menu2.setDefaultCommand(Pilih1);//menampilkan Command Pilih
menu2.setItemCommandListener(this);
menu2.setLayout(3);//untuk menampilkan StringItem 1=kiri,2=kanan, 3=tengah
append(menu2);

setItemStateListener(this);
this.setCommandListener(this);

public void itemStateChanged(Item item){

public void commandAction(Command c, Item item){

if(c == Pilih1){
//memberikan aksi saat tombol pilih ditekan
}
if (c == Pilih2){
//memberikan aksi saat tombol pilih ditekan
}
if(c == Keluar){
midlet.keluarMIDlet();//keluar dari program
}
}

public void commandAction(Command c, Displayable S){}}

Ok, sekian dulu ya tutorial sederhana ini.

Advertisement

3 comments

  1. agung says:

    mas itu editornya pake apa?
    aq pake Sun Java Wireless Toolkit 2.5.2_01 koq eror ya?pas aq tambahin ItemCommandListener,ItemStateListener di bagian implements nya?trus g kenal perintah append juga?

    ini eror waktu aq tambahin ItemCommandListener,ItemStateListener:

    HelloJavaME is not abstract and does not override abstract method commandAction(javax.microedition.lcdui.Command,javax.microedition.lcdui.Item) in javax.microedition.lcdui.ItemCommandListener
    public class HelloJavaME

    Pass aq pake perintah append juga eror :

    cannot find symbol
    symbol : method append(javax.microedition.lcdui.StringItem)
    location: class HelloJavaME
    append(menu1);

    cannot find symbol
    symbol : method append(javax.microedition.lcdui.StringItem)
    location: class HelloJavaME
    append(menu2);

    importku:

    import java.util.*;
    import java.io.IOException;
    import javax.microedition.io.*;
    import javax.microedition.lcdui.*;
    import javax.wireless.messaging.*;
    import javax.microedition.midlet.*;

    masa kurang?

  2. agung says:

    mas itu editornya pake apa?
    aq pake Sun Java Wireless Toolkit 2.5.2_01 koq eror?
    padahal uda aq tambahin:
    ItemCommandListener,ItemStateListener
    di bagian implements nya?trus g kenal perintah append juga?

    *saat ku tambah ItemCommandListener,
    ItemStateListener erornya:

    HelloJavaME is not abstract and does not
    override abstract method commandAction
    (javax.microedition.lcdui.Command,javax.
    microedition.lcdui.Item) in javax.microedition.lcdui.ItemCommandListener
    public class HelloJavaME

    *saat pake append juga eror:

    symbol : method append
    (javax.microedition.lcdui.StringItem)
    location: class HelloJavaME
    append(menu1);
    ^

    symbol : method append
    (javax.microedition.lcdui.StringItem)
    location: class HelloJavaME
    append(menu1);
    ^

  3. adxpoetra says:

    saya pake Netbeans 6.5 mas agung. kemungkinan ada kesalahan di penulisan commandActionnya tuh. coba mas teliti lagi. CMIIW.

Leave a Reply