Posted by: Budi Daryatmo | January 28, 2008

Hello Canvas

Untuk membuat sebuah tampilan dengan kreasi sendiri, pengembang J2ME membutuhkan pengetahuan dasar tentang Canvas. Canvas menyediakan media untuk menciptakan tampilan yang sesuai dengan keperluan aplikasi atau keinginan pengguna. Media ini mendukung kapabilitas di dalam membuat beragam bentuk, teks, dan gambar (statis atau animasi), yang pada dasarnya merupakan kemampuan obyek Graphics.

Berikut diberikan contoh kode J2ME sederhana, berupa aplikasi Hello Canvas, yang terdiri dari 2 kelas : HelloMidlet dan HelloCanvas. MIDlet akan menampilkan tulisan “Hello World” pada awalnya dan akan menghapus tulisan tersebut (selanjutnya menampilkan kembali) ketika tombol “Toggle” diklik. Aplikasi akan berakhir ketika tombol “Exit” diklik.

Kode Aplikasi Hello Canvas :

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.midlet.MIDlet;

public class HelloMidlet extends MIDlet implements CommandListener {
  private Command cmdToggle = new Command("Toggle", Command.OK, 0);
  private Command cmdExit   = new Command("Exit", Command.EXIT, 0);
  private HelloCanvas canvas;

  protected void startApp() {
    canvas = new HelloCanvas();
    canvas.addCommand(cmdToggle);
    canvas.addCommand(cmdExit);
    canvas.setCommandListener(this);
    Display.getDisplay(this).setCurrent(canvas);
  }

  public void commandAction(Command c, Displayable d) {
    if(c == cmdToggle) canvas.setToggle();
    else if (c == cmdExit) notifyDestroyed();
  }

  protected void destroyApp(boolean unconditional) {}
  protected void pauseApp() {}
}

import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Graphics; public class HelloCanvas extends Canvas { private boolean toggle = true; public void setToggle() { toggle = !toggle; repaint(); } public void paint(Graphics g) { int w = getWidth(); int h = getHeight(); g.setColor(0xffffff); g.fillRect(0, 0, w, h); g.setColor(0x000000); if(toggle) g.drawString("Hello World", w/2, h/2, Graphics.BASELINE|Graphics.HCENTER); } }

Tampilan aplikasi ini dapat dilihat pada gambar berikut.

Hello World Canvas


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: