J2ME GUI dan Manajemen Event Muhammad Zen S S. Hadi Hadi, ST ST. MSc MSc.
Contents
J2ME (Review)
M Manajemen j E Eventt
GUI dalam J2ME
Passing parameter di dalam J2ME
2
Arsitektur Jaringan dgn J2ME
3
Design Aplikasi
vMiles
Signature Capture Control
Color Dialog
Pocket ftCalc
Mobile Controls
Micrographs
Registry Control
Simple Wireless API
4
Akses Informasi
Pembelian tiket bioskop
5
Klas Utama dalam paket lcdui To be discussed in this lecture
6
Bagaimana g pprogram g bisa keluar?
Program tidak bisa keluar k kecuali li kit kita menutup t emulator
Supaya tidak perlu menutup emulator diperlukan sebuah command.
Command bisa berupa button “OK" atau "Cancel," d aplikasi dan lik i kit kita bi bisa meresponds jika kita memilih command tersebut 7
Event Handlingg dengan g Command
Mengimplementasikan interface CommandListener public bli class l d demo extends t d MIDlet MIDl t implements i l t CommandListener C dLi t { ……………………………… }
p public void commandAction(Command ( c,Displayable , p y d) ) { Mengimplementasikan fungsi ……………………………… commandAction(Command c,Displayable d) }
8
Event Handling dengan Commands
Displayable, parent dari semua screen display, support adanya Command.
Perangkat mobile menentukan bagaimana perintah ditunjukkan di layar atau dijalankan oleh user.
Setiap Displayable menyimpan daftar dari Command. Kita dapat menambah dan menghapus Command menggunakan metode berikut : – public void addCommand(Command cmd) – public void removeCommand(Command cmd)
9
Objet Command
Dalam J2ME, command ditunjukkan dengan softbutton pada perangkat mobile. Gambar berikut terdapat 2 object Command, yaitu “Exit” dan “View
soft-buttons
10
Object Command
Jika terdapat banyak command yang akan ditampilkan di layar, perangkat mobile akan membuat menu untuk menyimpan banyak command. command
11
Penggunaan object Command
Tahapan untuk memproses event dengan object command adalah sebagai berikut : 1. Membuat Object Command 2. Menambahkan Command ke Form (atau object GUI lainnya seperti TextBox TextBox, List List, or Canvas) Canvas). 3. Membuat dan men-set listener untuk Form tersebut.
Untuk mendeteksi dari event diatas, listener akan memanggil metode commandAction().
12
Menciptakan Command
Untuk menciptakan Command, dibutuhkan label, type, dan prioritas
Beberapa p type yp command yyang g ada bisa dilihat p pada tabel dibawah ini: Command
Meaning
BACK
Kembali ke layar sebelumnya
CANCEL
Membatalkan akses ke layar
EXIT
Keluar dari suatu aplikasi
HELP
Menampilkan fasilitas help
ITEM
Menampilkan spesifik item.
OK
Mengacu jawaban positif atas suatu hal
SCREEN
Layar yang akan ditampilkan berdasar aplikasi
STOP
Menghentikan sebuah proses
13
Pembuatan Command
Untuk membuat OK command, berikut perintahnya: Command c = new Command("OK", ( Command.OK, 0); )
label type
priority Untuk membuat command tertentu ke aplikasi, berikut perintahnya: Command c = new Command( ); "Launch",, Command.SCREEN,, 0);
14
Respon ke Commands
Command ditunjukkan pada layar, tetapi tidak ada yang dijalankan secara otomatis ketika user menekan tombol command command. Perlu object yang disebut listener yang akan dijalankan j ketika user menekan tombol command Listener adalah object yang mengimplementasikan interface CommandListener. U t k meregister Untuk i t listener li t d dengan Di Displayable, l bl gunakan metode berikut : –p public void setCommandListener(CommandListener l) Catatan : Satu listener per Displayable, BUKAN satu listener per command command. 15
Contoh import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class cobaCmd C extends MIDlet implements CommandListener C { public void startApp() { Form d = new Form( "Test Command" ); Command cb = new Command("Exit", Command.EXIT, 0); d.addCommand(cb); d.setCommandListener(this); Display.getDisplay(this).setCurrent(d); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void commandAction(Command c, Displayable s) { notifyDestroyed(); } }
Abstract method of CommandListener. Ak dipanggil Akan di il ketika k ik beberapa b b command di Form dipilih.
16
17
Example Multi Command
18
Bagaimana dgn ini (2 Forms) Launch Exit
Form 2
E it Exit Ke Form 1
19
Contoh aplikasi
20
Form dan komponen Item
Form adalah container untuk menampung komponen, dimana setiap komponen adalah subclass dari class Item. Item
Untuk membuat Form: – public Form(String title) – public Form(String title, Item[] items)
Metode yang pertama membuat form kosong kosong.
Metode yang kedua akan berisi komponen Item yang didefinisikan di array item.
21
Form dan komponen Item
Berikut adalah komponen Item: – DateField – Gauge – StringItem g – TextField – ChoiceGroup – Spacer – Image and ImageItem
22
Komponen TextField
TextField serupa dengan text masukan field.
23
Komponen TextField
Kita dapat menentukan label, jumlah maks karakter, tipe data yang akan diterima. K Komponen T tFi ld juga TextField j mengimplementasikan i l t ik password yang berupa mask character ketika diinputkan. Konstruktor untuk TextField: – TextField(String label, String text, int maxSize, int constraints)) Parameter constraints untuk menentukan tipe input yang diijinkan dalam TextField. G Gunakan k metode t d getString() tSt i () untuk t k mendapatkan d tk data dari text yang diinputkan.
24
Format penulisan TextField (String Title, String Text, int maxSize,int const) Contoh : TextField nama = new TextField ("Nama Anda ","", 15, TextField.ANY); Constraints: TextField.ANY
: sembarang karakter teks
TextField.NUMERIC : teks berupa angka saja T tFi ld PASSWORD : dengan TextField.PASSWORD d kkarakter kt ttertentu t t ‘*’
25
Contoh aplikasi TextField
26
Contoh aplikasi TextField
27
Passing Parameter dgn TextField
28
Passing Parameter dgn TextField
29
Komponen ChoiceGroup
Memberikan user pilihan dari list yang tersedia.
Terdapat p 3 format ChoiceGroup p: EXCLUSIVE : satu pilihan MULTIPLE : banyak y pilihan POPUP : satu pilihan dengan tampilan popup
30
Komponen ChoiceGroup
Format: – ChoiceGroup(String p( g label,, int choiceType) yp ) Membuat obyek ChoiceGroup dan menentukan title dan tipenya. – ChoiceGroup(String label, int choiceType, String[] stringElements, Image[] imageElements) Membuat obyek ChoiceGroup, ChoiceGroup menentukan title dan tipe serta array dari string dan gambar untuk nilai awal.
Untuk passing parameter dari pilihan user gunakan getSelectedIndex(), getString(int elementNum) and isSelected(int elementNum). 31
Contoh TextFieldChoiceGroupTest
Form Registrasi untuk memasukkan data pribadi dan menampilkannya di dalam console.
32
Untuk Satu Pilihan (EXCLUSIVE)
33
Untuk Satu Pilihan (POPUP)
34
Passing Parameter dgn RadioButton
35
Passing Parameter dgn RadioButton
36
Banyak Pilihan (MULTIPLE)
37
Passing Parameter dgn CheckBox
38
Aplikasi untuk CheckBox
Untuk fungsi pauseApp(), destroyApp(), awal(), keluar() sama dengan program sebelumnya 39
40