30 December 2008

Bekerja dengan Canvas dalam pemrograman J2ME (Low Level)

Objek Display, selain dapat untuk menampilkan Form, Alert, TextField, TextBox, dan lain-lain (High Level). Juga dapat digunakan untuk menampilkan Canvas (Low Level).

Perbedaan antara High Level dengan Low Level :

- Dari segi coding (pengkodean) program, kita lebih mudah untuk menggunakan High Level dari pada Low Level. Dalam High Level. Kita tinggal "menggunakan" objek-objek yang sudah ada, seperti Form, TextField, dan sebagainya. Sedangkan di dalam Low Level, kita harus membuat sendiri objek-objek tersebut.

- Dari segi implementasi, Low Level lebih "pas" pada saat diimplementasikan di HandPhone. Kalau kita menggunakan High level, hasil yang ditampilkan di HandPhone terkadang tidak sama dengan yang ditampilkan di emulator.

☼ Contoh program J2ME dengan Canvas :
Pemrograman J2ME dengan Canvas membutuhkan minimal 1 buah class yang ber-extends MIDlet, karena program J2ME pertama kali berjalan membutuhkan sebuah class yang ber-extends MIDlet, jika kita menggunakan Canvas, maka class kita akan ber-extends Canvas. Oleh karena itu kita juga membutuhkan 1 class lagi yang ber-extends MIDlet, yang mana class yang ber-extends Cnavas tersebut, akan dipanggil di class yang ber-extends MIDlet.
Langkah-langkah :
1. Buat File dengan nama mycanvas.java (Class yang ber-extends Canvas)
//nama File : mycanvas
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
//Meng-import semua library yang dibutuhkan
public class mycanvas extends Canvas {
public void paint(Graphics g)
{
 g.setColor(0x11555);
 g.fillRect(0,0,getWidth(),getHeight());
g.setColor(255,255,255); //RGB 255,255,255 akan menghasilkan warna putih
g.drawString("==========",10,10,0); //menampilkan tulisan di koordinat x=10, y=10
g.setColor(255,0,0);
g.drawString("Ini latihan Canvas Chandra Harianto",10,23,0); // menampilkan tulisan di koordinat x=10, y=23
g.setColor(0x89213); //warna hijau muda
g.drawString("Asyik yach belajar J2ME Canvas",10,49,0); // menampilkan tulisan di koordinat x=10, y=49
g.setColor(255,255,255); //RGB 255,255,255 akan menghasilkan warna putih
g.drawString("==========",10,62,0); //menampilkan tulisan di koordinat x=10, y=62
}
}

2. Buat File dengan nama pcanvas.java (Class yang ber-extends MIDlet)
//nama File : pcanvas
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
//Meng-import semua library yang dibutuhkan
public class pcanvas extends Canvas {
public void startApp() {
Display display=Display.getDisplay();
Canvas tampil=new myanvas(); //memanggil class mycanvas yang ber-extends Canvas
display.setCurrent(tampil);
}
public void pauseApp() { }
public void destroyApp(boolean unconditional) { }
}

1 comment:

  1. bagaimana kalo memanggil class yang ber-extends MIDlet didalam class ber-extends canvas ?

    semisal gini;

    if(getGameAction(tekan)==FIRE)
    {
    if(index==0)
    {
    //maka memanggil class ber-extends midlet.
    }


    mohon bantuannya. :D

    ReplyDelete