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:

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

    BalasHapus
  2. @anonim
    kalo lengkapnya ada

    starApp()
    pauseApp()
    destroyApp()

    dll

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

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

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

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

    BalasHapus
  6. @arham

    thanks.. hmmm ebook kedengerannya bagus tuh :)

    BalasHapus
  7. wahhh banyak istilah yg saiia gag ngerti nii kang :(

    BalasHapus
  8. makasih membantu saya mempelajari lebih detail tntg j2me

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

    BalasHapus
  10. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  11. 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??

    BalasHapus
  12. @Anonim
    sama2 :)

    @dreyazt
    thanks, okay

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

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

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

    okay meluncur Ke TKP

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

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

    BalasHapus