Monday, December 10, 2012
Source code menggambar bentuk geometri di dalam objek Canvasn, pada JAVA (J2ME)
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.IOException;
public class BentukGeometri extends MIDlet
implements CommandListener {
private Display display;
private List list;
private Canvas canvas;
private final Command cmdKeluar =
new Command("Keluar", Command.EXIT, 1);
private final Command cmdOK =
new Command("OK", Command.OK, 1);
private final Command cmdKembali =
new Command("Kembali", Command.BACK, 1);
public BentukGeometri() {
display = Display.getDisplay(this);
list = new List("Bentuk Geometri", Choice.EXCLUSIVE);
list.append("Kotak", null);
list.append("Lingkaran", null);
list.addCommand(cmdKeluar);
list.addCommand(cmdOK);
list.setCommandListener(this);
}
public void startApp() {
display.setCurrent(list);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable s) {
if (c == cmdKeluar) {
destroyApp(false);
notifyDestroyed();
} else if (c == cmdKembali) {
display.setCurrent(list);
} else {
switch (list.getSelectedIndex()) {
case 0: {
canvas = (Kotak) (new Kotak(this));
break;
}
case 1: {
canvas = (Lingkaran) (new Lingkaran(this));
break;
}
}
canvas.addCommand(cmdKembali);
canvas.setCommandListener(this);
display.setCurrent(canvas);
}
}
class Segiempat extends Canvas {
private BentukGeometri midlet;
public Segiempat(BentukGeometri midlet) {
this.midlet = midlet;
}
public void paint(Graphics g) {
g.setColor(255, 255, 255);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0, 0, 0);
g.drawRect(55, 55, 60, 60);
g.setColor(255, 0, 0);
g.fillRect(56, 56, 59, 59);
}
};
class Lingkaran extends Canvas {
private BentukGeometri midlet;
public Lingkaran(BentukGeometri midlet) {
this.midlet = midlet;
}
public void paint(Graphics g) {
g.setColor(255, 255, 255);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(255, 0, 0);
g.fillArc(55, 55, 60, 60, 0, 360);
}
};
}
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment