import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Graphics;
import javax.microedition.midlet.MIDlet;
public class ClockMIDlet extends MIDlet implements CommandListener {
private Command exitCommand;
Display display;
public void startApp() {
Display display = Display.getDisplay(this);
Displayable d = new ClockCanvas(10, 10, 10);
exitCommand = new Command("Exit", Command.EXIT, 1);
d.addCommand(exitCommand);
d.setCommandListener(this);
display.setCurrent(d);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable s) {
notifyDestroyed();
}
}
class ClockCanvas extends Canvas {
private int hour;
private int minute;
private int second;
protected int xCenter, yCenter;
protected int clockRadius;
int width = 0;
int height = 0;
ClockCanvas(int hour, int minute, int second) {
this.hour = hour;
this.minute = minute;
this.second = second;
}
public void paint(Graphics g) {
width = getWidth();
height = getHeight();
g.setGrayScale(255);
g.fillRect(0, 0, width - 1, height - 1);
g.setGrayScale(0);
g.drawRect(0, 0, width - 1, height - 1);
clockRadius = Math.min(width, height) - 20;
xCenter = getWidth() / 2;
yCenter = getHeight() / 2;
g.drawArc(10, 12, clockRadius, clockRadius, 0, 360);
g.drawString("12", xCenter, 0, Graphics.TOP | Graphics.HCENTER);
g.drawString("9", 1, yCenter, Graphics.BASELINE | Graphics.LEFT);
g.drawString("3", width - 1, yCenter, Graphics.BASELINE | Graphics.RIGHT);
g.drawString("6", xCenter, height, Graphics.BOTTOM | Graphics.RIGHT);
}
}