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);
    } 
  }; 
}

No comments:

Post a Comment