Mengganti Komponen di LWUIT

Akhir-akhir ini saya sedang giatnya mengeksplorasi LWUIT. Apa itu LWUIT?

LWUIT is a UI library that is bundled together with applications and helps content developers in creating compelling and consistent Java ME applications. LWUIT supports visual components and other UI goodies such as theming, transitions, animation and more.

Kemarin sore saya penasaran dengan bagaimana caranya mengganti komponen yang ada di container. Untuk menghilangkan rasa penasaran tersebut saya membaca dokumentasi dari class Container. Setelah membaca dokumentasi class Container dengan seksama, ada dua method yang bisa digunakan untuk mengganti komponen yang ada pada container. Method-method tersebut adalah:

replace(Component current, Component next, Transition t)

dan satu lagi:

replaceAndWait(Component current, Component next, Transition t)

Untuk mencoba method tersebut saya membuat aplikasi demo. Method yang akan saya gunakan hanya method replace saja. Pada aplikasi demo ini saya menggunakan container Form dan saya tambahkan 2 komponen Label pada Form tersebut. Label ke-1 akan menjadi currentLabel sedangkan Label yang ke-2 akan menjadi nextLabel. Untuk memicu pergantian label ini saya menambahkan Button pada form tersebut. Jika user menekan Button tersebut maka currentLabel akan diganti oleh nextLabel, begitu pula sebaliknya. Dan berikut adalah screenshot hasil running dari aplikasi demo tersebut.

Berikut adalah potongan kode dari aplikasi demo tersebut:


public void startApp() {

// initialize the displat
Display.init(this);
// create a form
testForm = new Form("Replacing Component Demo in LWUIT");
// set the form layout
BoxLayout boxLayout = new BoxLayout(BoxLayout.Y_AXIS);
testForm.setLayout(boxLayout);
currentLabel = new Label("This is the current label");
nextLabel = new Label("This is the next label");
replaceComponentButton = new Button(new Command("Replace", 0));
replaceComponentButton.setAlignment(Button.CENTER);
testForm.addComponent(currentLabel);
testForm.addComponent(replaceComponentButton);
testForm.addCommandListener(this);
testForm.show();
}

 public void pauseApp() {    }

 public void destroyApp(boolean unconditional) {        notifyDestroyed();    }

public void actionPerformed(ActionEvent actEvent) {
int commandID = actEvent.getCommand().getId();
 switch (commandID) {
case 0:
if (testForm.contains(currentLabel)) {
testForm.replace(currentLabel, nextLabel, null);
} else if (testForm.contains(nextLabel)) {
testForm.replace(nextLabel, currentLabel, null);
}
testForm.repaint();
break;

default:
break;
 }
}

Hilanglah sudah rasa penasaran saya. Jika Anda ingin melihat keseluruhan source codenya Anda bisa mendapatkannya disini:

  1. ReplaceComponentDemoInLWUIT NetBeans project file.

Enjoy!

One thought on “Mengganti Komponen di LWUIT

  1. Pingback: Tweets that mention Mengganti Komponen di LWUIT « Muhammad Ghazali's Online Notes -- Topsy.com

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s