Download File Tutorial di File puputoce

Selasa, 02 Juni 2009

J2ME Tutorial, Membuat Menu Grid di Canvas


Tutorial membuat menu grid untuk aplikasi J2ME ini, sebenernya mirip dengan tutorial menu untuk aplikasi J2ME pada Canvas yang sebelumnya. Memiliki kemiripan pada logika penggambaran pada method paint() di Canvas. Hanya saja pada kali ini tidak menggunakan String yang di gambar di Canvas pada method paint() sebagai menunya, tapi menggunakan Image.

Langsung saja, saya akan menjelaskan code untuk membuat menu grid ini, perhatikan sepenggal code di bawah ini. [kode penuh dapat di download disini]

Pada gambar di atas adalah atribut pada Class Canvas yang akan melakukan penggambaran menu grid. Memang hampir mirip pada atribut menu pada tutorial sebelumnya. Tetapi memiliki perbedaan seperti,

arrImageMenu : ini adalah Array yang nantinya akan menimpan Image, yang akan di tampilkan

itsXpos : ini adalah variable untuk menyimpan posisi X untuk penentu titik penggambaran

itsInitialXPos : ini untuk menyimpan awal posisi X penggambaran

itsInitialYPos : ini untuk menyimpan awal posisi Y penggambaran

itsHorisontalLength : ini untuk menentukan berapa jumlah grid horizontal yang kita inginkan

itsVericalLength : ini untuk menentukan berapa jumlah grid Vertical yang kita inginkan

itsImagePad : untuk menentukan jeda antara Image

Sekarang kita lihat pada Contructor class nya, perhatikan gambar di bawah.

Pada gambar di atas terdapat angka besar yaitu 1, 2, dan 3 yang menunjukan area kode tertentu. Penjelasan masing masing area adalah,

1 adalah area kode untuk meload file gambar dan meletakannya pada Array yang sudah di sediakan.

2 adalah area kode perhitungan untuk menentukan posisi awal penggambaran menu Grid, perhitungan itu saya buat hanya untuk kondisi pembuatan tutorial ini, anda bisa mencoba berexsperiment sendiri untuk membuat menu pada dimensi yang berbeda.

3 adalah area kode untuk menyimpan posisi awal pada variable initial tersebut.

Selanjutnya adalah proses penggambaran pada method paint() perhatikan gambar dibawah ini,



Pada gambar di atas terdapat angka besar yaitu 1, 2, 3, 4 dan 5 yang menunjukan area kode tertentu. Penjelasan masing masing area adalah,

1 adalah kode untuk membuat background dengan warna yang di cetak pada kode tersebut.

2 adalah kode untuk mereset nilai posisi ke dalam nilai posisi initial.

3 adalah kode untuk penaikan posisi Y untuk melakukan penggambaran pada baris selanjutnya, apabila di temukan panjang dari variable i adalah kelipatan dari variable itsHorisontalLength.

4 adalah kode untuk menggambar area seleksi yang di gambarkan oleh warna pink, yang mengelilingi menu yang di seleksi.

5 adalah kode untuk menggampar Image berdasarkan posisi X dan Y yang sudah di dapat dari kode sebelumnya, lalu menaikan posisi X sesuai dengan lebar Image dan variable itsImagePad.

Untuk selanjutnya adalah method keyPresses() method ini tidak berubah dari tutorial sebelumnya, perhatikan gambar di bawah.

Lalu kita tinggal menampilkan CanvasMenu kita di class Midlet kita seperti gambar di bawah ini.

Semoga tutorial kecil ini bisa berguna, dan kalau ada pertanyaan silahkan masukan di kolom komentar, gw coba jawab sebisa gw.

Kode sumber penuh, J2ME Tutorial, Membuat Menu Grid di Canvas

J2ME tutorial sebelumnya, Menu list di Canvas

J2ME tutorial sebelumnya, Hello world di netbean

49 comments:

Juminten mengatakan...

Java, yah?
Huff... berasa lg kuliah...
puyeeeengg...>,<

elmoudy mengatakan...

Java seh sebetulnya gak terlalu susah.. Cuman kalo mbikin script sendiri ya puyeng dech. hehe

Raffaell mengatakan...

Wow, ternyata ada java developer disini, bravo, simple program yang keren, banyak juga sekarang program memanfaatin rss untuk nge load data, coba bikin dong

Puput mengatakan...

@juminten
aku mau kuliah lagi... :p

@elmoudy
lumayan, buat hobby ajah..

@Raffaell
belum developer kok, masih belajar aja, waaah bikin rss reader yah. ribet gak y baca xmlnya

Nee mengatakan...

apalagi ini put.. nggak ngerti aja gitu gw...
ahahaha

Puput mengatakan...

@Nee

:p ini hoby kalo lagi iseng, sapa tau iseng2 bisa berhadiah

blogger senayan mengatakan...

thanks infonya ya

ceznez mengatakan...

hmmm.. lama saya gak maen2 dengan java... agak bingung logika scriptsnya... :)

Puput mengatakan...

@blogger senayan
sama2 mas :)

@ceznez
maaf kalo kurang jelas, saya masih belajar buat nulis tutorial, thnks udah mampir :)

Z.E Ferdi Fauzan Putra mengatakan...

iya neh.. rupanya ada developer di sini...
keren2... ntar aku bilangin ke tmn2 biar mereka bikinin buat aku.. hehehehehe...

oya, saya ferdi, salam kenal ya...
klw ada waktu booeh kok ke blog aku... Hheheee...
^_^

Puput mengatakan...

@Ferdi
salam kenal juga, pasti mampir kok :)

Anonim mengatakan...

salam kenal...
mas... punya tutorial ttg system unified messaging kah....
aku lg TA ttg pembangunan aplikasi unified messaging pake java butuh byk sekali referensi....
makasiiiiiiiihhh y mas

Puput mengatakan...

@lany
btw unified messaging itu apa yah, saya belum pernah denger, maaf

Anonim mengatakan...

Mas kalo mau buat game pertanyaan supaya pertanyaannya&jwbannya bsa random gmn mas????tlong bntuannya dnk mas!!!!
klo pnya ptunjuk krim ke email saya
adang_speed@yahoo.co.id

Puput mengatakan...

@anonim
buat array pertanyaaan, lalu keluarkan dari melalui index yang dapat dari nilai random, sesuai dengan jumlah arraynya, sukses

lany mengatakan...

unified messaging... aplikasi berbagai messaging yang disatukan dalam sebuah sistem yang terdistribusi mas,,,, contoh realnyah "notebox" yg di ITB...:p

Puput mengatakan...

hmmm belum kebayang :p

ada contohnya produk yg uda tersebar luas gak, apa sama aja kayak, ym, gtalk, skype dan kawan2nya

Anonim mengatakan...

Gue bingung nich,cara mendaftar facebook,pendaftaran hrs mengsi alamat email.sdgkn gue blm pya email.gue sh kepengnya punya email,tp nyetinya gmna.dear fauzy.cahbumen.soka poncowarno

lany mengatakan...

heuheuheu..... iyah,,, salah satunyah aplikasi ituh juga ada mas... jadi aplikasi sms,mms,IM,fax,voice mail bisa diakses dalam satu system,,,,:p
begituh mas..... ceritanyah waktu seminar TA belagu ngambil tema itu (jatuh cinta ma aplikasi notebox "ITB") padahal belum menguasai betulll.... sekarang kelimpungan nyari tutor...hehehehehe

Puput mengatakan...

@anonim
bikin email bisa di mail.google.com atau ke mail.yahoo.com, semoga berhasil

@lany
ooow... aplikasi yg gabungin semua jenis kominikasi.. kebayang sie, cuma yg banyak kerja di server sidenya tuh, okay moga sukses yah

lany mengatakan...

hehe....
iyaahhh mas begitulahhh... puyeng,,,:-)
makasiyyhh mas.....

Erie(nickname) mengatakan...

menarik nih... kebetulan saya sedang membuat tugas skripsi membuat game TTS dengan J2ME. Saya tidak begitu mengerti dengan pembuatan grid ataupun paint untuk tampilan TTS... Ada yang bisa bantu?? Terutama untuk logika/ algoritma pembuatan gridnya..

Erie(nickname) mengatakan...

oh, lupa skalian email...
ragunan_raya@yahoo.com

jdi bisa chatting...^V^

Anonim mengatakan...

mba puput minta file pdfnya dong tentang belajar membuat aplikasi java kirim ke email ku ya kurni.kurniawan886@gmail.com

Puput mengatakan...

@lany
iya mbak, sama2 .. semoga sukses yah

@Erie(nickname)
kalau saya kepikiran pake gambar garis berdasarkan dimensi yang kita tentukan, trus ada array kumpulan dari 1 dan 0 untuk menentukan hitam dan putih kotak dari TTS itu.

@Erie(nickname)
kebetulan saya pake Gtalk add aja di blog@puputs.com, terima kasih

@Anonim
kebetulan saya gak punya pdfnya, paling cuma di blog aja :p, maaf yah

Anonim mengatakan...

buat tutor tutor j2me lagi dunk...
makasi lo tutornya.... bagus bener

Puput mengatakan...

@anonim
iya kalau lagi dapet libur saya buat lagi :), terima kasih banyak.

Anonim mengatakan...

mas puputs, mau nanya neeh, saya sudah coba copy sourcenya. tapi ketika di RUN, kok gak muncul menunya ya? Blank gitu. kenapa ya?

anti mengatakan...

salam kenal mas puput.boleh ikutan nanya ya, kalo di canvas cara ngasih actionnya gimana ya? misalnya:dari contoh yang maz buat itu,setelah di run, icon gambarnya di klik bisa meluncur ke form yang lain gitu.caranya gimana ya?
soalnya kebanyakan yang saya dapat actionnya hanya menampilkan tulisan saja,bukan nge-link ke form lain.
terima kasih....

Anonim mengatakan...

@anti: saya coba sourcenya itu kok gak jalan ya?. saya pakai Netbean IDE 6.8. maklum neeh newbie :D

anti mengatakan...

@Anonim: bisa kok!ga jalannya gimana? pesan errornya apa?
coba download link yang "kode sumber penuh..." di atas.kalo sudah,coba buat dua midlet di satu project.selamat mencoba.... :)

Puput mengatakan...

@anti
untuk pindah ke form lain,
kamu bikin class turunan Displayable dulu, Canvas atau Form, kalo udah jadi, kamu setDisplay() nya. pada saat action itu di pilih,

jangan lupa referensi Midlet kamu bawa juga di class yang ada actionnya.

thanks,

@anonim
bisa tau muncul error apa,

anti mengatakan...

iya maz,terima kasih.ternyata sudah bisa... cuma rada bingung.saya nyobanya pake midlet(di netbeans),mau saya pindah ke visual midlet kok rada susah ya codingnya??? bisa bantu ga?thanks,

ilmu mutiara mengatakan...

Mas mau tanya nih.. Cara nambahin keypressednya untuk yang arah kanan dan kiri gimana?
Saya udah coba nambahin koding sperti di bawah :
} else if (getGameAction(keyCode) == RIGHT) {

statCursor = statCursor + 1;
if (statCursor == arrImageMenu.length) {
statCursor = 0;
}
} else if (getGameAction(keyCode) == LEFT) {

statCursor = statCursor - 1;
if (statCursor == arrImageMenu.length) {
statCursor = 0;
}

tapi yang ada kanan-kirinya berfungsi tapi gerakannya sama aja kaya gerakan atas-bawah..
thanx before :)

Puput mengatakan...

@ilmu mutiara
untuk kanan kiri, kamu harus liat dari menu yg terbentuk, seandainya menu yg tergambar dari index spt dibawah,

[0][1]
[2][3]

kamu harus liat, kalo posisi di [2] di pencet kanan maka akan nambah 1 yaitu [3], kalo di pencet kanan lagi akan lari ke [2], dari pola seperti itu, tinggal km buat kodenya deh :), semoga berhasil

ilmu mutiara mengatakan...

owh.. ok2.. makasih banyak ya bagi2 ilmunya.. terus posting j2me dan BB :>

Anonim mengatakan...

Mas....saya mau menanyakan pertanyaan yang dah di tanyaain.
hehehehe
gimana caranya bila salah satu menu di klik trus muncul menu form yang dipilih(muncul form baru)?

saya udah coba pake displayable, tapi ga bisa..
kasih contoh lengkapnya dong untuk aktion pemanggilan untuk memunculkan form baru jika salah satu menu di pilih...plis banget..urgent neh..hehehe
tq mas...

Puput mengatakan...

@ilmu
sama2 thanks juga,

@anonim
saat ini belum memungkinkan bikin tutorial lengkap, tapi kalo dari kamy liat source code mario air kamu bisa perhatikan, di sana kan ada menu juga, kamu bisa oprek2 pada saat saya klik.. saya akan melakukan setDisplayable pada Casvas atau Form, yg penting itu turunan dari Displayable.. maaf blom bisa bantu banyak

cari ilmu mengatakan...

Maaf mas saya mau tanya, gmn ya sourcecodenya untuk pengambilan data, misal dalam mms kan bisa ambil gambar, audio ma video kayak gitu gmn ya mas. penasaran lom bisa2 soalnya? hehe....

Dropsis mengatakan...

Mas saya mau tanya...
knp audio wav saya hanya bisa memutar hinggal 17 saja. setelah itu suara tidak dapat berfungsi(tidak terdengar),

jika mas ingin membantu saya mohon kirim lwt email q saja..
dropsis@yahoo.co.id

kadexjus mengatakan...

mas mau tanya ni...klo mau buat link dari masing - masing menu gimana...

Puput mengatakan...

@cari ilmu
wah maaf saya juga lom pernah mainin mms :), sory

@dropsis
maksudnya 17 menit atau gimana, jangan2 file audionya yang error :p

@kadexius
kalo mau buat link, kamu harus setDisplayable masing2 screen yang ingin kamu tampilkan, di masing2 link/tombol yg kamu buat

Anonim mengatakan...

maap numpang nanya,klo nambah tulisan biar pas dibawah gambar gmn ya?mhon bantuananya ya..mksh sblmnya.

Puput mengatakan...

@anonim
untuk itu kamu ambil posisi Y dari gambarnya, trus kamu tambah sama tinggi dari gambarnya, dan kamu akan dapet posisi Y persis dibawah gambar...

Anonim mengatakan...

trimaksih mas utk text dbwh gambar udah jadi,skrg klo nambahin jarak antar gambar gmn mas?mksh..maap anya trus cz newbie nich hehehe

Anonim mengatakan...

mkasih mas,text dibawh gambarnya dah jd,klo mo nambah jarak antar gambar gmn mas?maap nanya trus..hehehehe

Anonim mengatakan...

mas cara ambil digambar yg dipilih agar isa masuk ke menu berikutnya itu berdasarkan apa ya utk mengatur diplayblenya?mhn bantuan.thx

Puput mengatakan...

@anonim
untuk gap/jarak bisa coba2 aja, tes Y nya di tambah 10 ata 5, atau ambil Height dari Font yang kamu pake kalo kamu jarak sebesar Font kamu..

untuk ambil menentukan kayar yg du tampilkan kamu bisa memakai acua statCursor kalo dari kode di atas, kamu jadi bisa menentukan index mana cursoor itu berada..

goes mengatakan...

bang puput,,saya mw nnya...
gmna cranya biar kalo running canvas grid menuny,, mw nymbung ke canvas lain,,?
misal,,kalo grid 1 dklik,,nymbung menu canvas yang ini "j2me-tutorial-membuat-menu-di-canvas",,
saya udh nyoba2,,tpi gag mw2..
mohon bntuanny,,terima kasih..
mohon komentar,,ato email ke goesdek@gmail.com

Poskan Komentar