J2ME Tutorial, Pindah Menu antar Canvas

Disebabkan oleh pertanyaan “Bagaimana pindah layar di J2ME menggunakan Canvas ?”, dan kurang cukupnya kolom komentar untuk penjelasan tersebut, maka gw bikin post khusus untuk menjawab pertanyaan tersebut, semoga bermanfaat.

Dimulai dari pretelan tutorial J2ME kali ini yang terdiri dari..

Satu buah Class MIDlet tempat aplikasi J2ME mulai menjalankan rencana busuknya untuk menguasai dunia, dan dua buah Class Canvas tempat kita melakukan corat coret di layar HP J2ME, Class pertama adalah tempat kita menggambar Menu, dan Class kedua adalah isi dari menu tersebut.

Sederhana saja, file yang dibutuhkan untuk tutorial terlihat seperti gambar di bawah ini,
Sekarang kita buka satu per satu, kita mulai dari MainMidlet.Java dan perhatikan method startApp() pada MainMidlet dibawah ini
Perhatikan baris 1 yang dilingkari warna orange, baris itu membuat object dari Class MenuCanvas dan pada constuctornya di berikan parameter this, yang artinya adalah object dari Class MainMidlet itu sendiri.

Trus kenapa harus dikirimkan object dari MainMidlet ?.. kenapa gak dikirimkan parcel yang isinya kue donat ?

Karena untuk menampilkan Canvas atau turunan Displayable Class harus menggunakan perintah pada baris ke 3 yang juga di kasih lingkaran oranye, Display.getDisplay(this).setCurrent(menuC) yang mana this di baris 3 tersebut juga adalah object dari Class MainMidlet itu sendiri.

Jadi kebayangkan, untuk menampilkan sebuah Canvas dibutuhkan object dari Class MainMidlet kita, jiaaah kita.. gw aja deh ama kuda

Jangan lupa baris ke 2, itu perintah untuk menampilkan FullScrean pada Canvas yang akan di tampilkan.

Selanjutnya gimana kalo kita tengok Class MenuCanvas, perhatikan gambar di bawah ini
Terdiri dari 3 bagian, A B dan C

Bagian A kita sebut Constructor, tugasnya menerima referensi object dari MainMidlet dan menyimpannya di private variable nya, yang nanti digunakan untuk keperluan bangsa dan negara.

Bagian B adalah method paint(), tempat kita melakukan graffiti di layar HP J2ME, kalo kita lihat dari kodenya, gambar yang akan muncul adalah sebuah menu yang menampilkan 2 pilihan, pilihan pertama akan membawa kita ke Layar 1, dimana imajinasi kita akan melayang bersama Layar 1, kalau berani tekan angka 1 di HP J2ME anda untuk masuk ke Layar 1. Selanjutnya adalah pilihan kedua yang akan membawa kita keluar dari aplikasi J2ME kita yang memjemukan ini.

Bagian C adalah method keyPressed() yang tugasnya adalah menerima inputan dari HP J2ME, KEY_NUM1 adalah keyCode kalau angka 1 kita pencet di HP, didalamnya kita perhatikan ada 3 baris perintah, baris pertama adalah pembuatan object dari Layar1Canvas dengan constructor midlet dan lagi-lagi keyword this,

Kenapa kita kasih midlet dan this di Layar1Canvas ?.. kenapa gak dikirimkan parcel yang isinya kue donat ?

Karena nanti di Class Layar1Canvas kita ada tombol “BACK” kita membutuhkan midlet untuk perintah menampilkan Canvas di layar HP J2ME, dan this adalah object dari layar sebelumnya yaitu dari Class MenuCanvas.

Baris ke 2 untuk membuat FullScrean dan baris ke 3 adalah perintah untuk menampilkan Canvas Layar1Canvas di layar HP J2ME kita, inilah yang disebut dengan pindah antar tampilan di Canvas.

Sekarang kita buka Layar1Canvas, yang ternyata tidak menyimpan misteri apa pun. Cupu ah
Terdiri dari 3 bagian, bagian A adalah constructor yang menerima object turunan Displayable dan MIDlet dan menyimpannya di sebuah variable yang akan digunakan nanti suatu saat.

Bagian B adalah tampilan yang akan di gambar oleh Canvas ini, dan ternyata cuma menampilkan String tidak senonoh, dan perhatikan drawString yang berisi “BACK” itu adalah tampilan tombol Back super sederhana untuk tampilan di HP kita.

Bagian C bertugas untuk menerima input dari tombol Back dan menampilkan Menu pada layar sebelumnya, kenapa keyCode nya -6 ?.. kenapa gak parcel yang isinya kue Donat aja ?

Karena keyCode -6 adalah kode kalo kita pencet tombol softKey(kalo gak salah) yang nempel persis sibawah layar HP, trus gimana taunya itu adalah -6 yaitu dengan melakukan System.out.println(keyCode) di method keyPressed.

Selesai sudah, sekarang gw mau cari parcel yang isinya kue donat dulu….

Note :
Untuk memperbesar gambar bisa di klik di masing-masing gambarnya aja

Agar lebih jelas, coba liat tutorial sebelumnya di

Share this:

CONVERSATION

17 comments:

Anonim mengatakan...

mau tanya yg Mainmidlet scriptna kya gt aja??ada tambahan lg ga?

Puput mengatakan...

@anonim
kalo lengkapnya ada

starApp()
pauseApp()
destroyApp()

dll

tapi disini cuma main di starApp() aja, method yang lainnya kosong,

Anonim mengatakan...

Good fill someone in on and this enter helped me alot in my college assignement. Thanks you seeking your information.

kebookyut mengatakan...

wah baru tahu saya... keren infonya *berasa bego sendiri.. ^^

Puput mengatakan...

@aninim & kebo
thanks

Arham Blogpreneur mengatakan...

Wah tutorialnya asik nih mas, TAPI
kalau dijadikan ebook saya rasa lebih manteb :)

Puput mengatakan...

@arham

thanks.. hmmm ebook kedengerannya bagus tuh :)

genial mengatakan...

wahhh banyak istilah yg saiia gag ngerti nii kang :(

Anonim mengatakan...

makasih membantu saya mempelajari lebih detail tntg j2me

dreyazt mengatakan...

halo bro... sip nih postingannya.. mampir ke blog gw ya bro

FIFI Qyute mengatakan...
Komentar ini telah dihapus oleh pengarang.
FIFI Qyute mengatakan...

mas... q pngen bget bikin game pke j2me, tp susah+ga bisa2 :'(
pngen bget deh ada yg ngajarin,h3h3..
klo aku hub mas,kmana ya??

Puput mengatakan...

@Anonim
sama2 :)

@dreyazt
thanks, okay

@fifi
hubungi bisa lewat email di kanan atas aja, [email protected]

akuphoto mengatakan...

mas puputs gmana neh kabar... masih dikejer-kejar pak nin gak...hehehe...mampir dong di blog aku

Puput mengatakan...

@akuphoto
eh bang hasan.. :) biasa aja kok..

okay meluncur Ke TKP

sToRy's WoRld mengatakan...

Mas, saya mau tanya kalo mau buat commandaction nya untuk ke form selanjutnya ke grid2 menu yang ada bagaimana ya caranya ????????

Puput mengatakan...

@Story
basicnya sama kaya tutorial di atas, waktu Klik Tombol tinggal set Displayable yg mana yg mau di tampilkan,