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.
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) { }
}
bagaimana kalo memanggil class yang ber-extends MIDlet didalam class ber-extends canvas ?
ReplyDeletesemisal gini;
if(getGameAction(tekan)==FIRE)
{
if(index==0)
{
//maka memanggil class ber-extends midlet.
}
mohon bantuannya. :D