Translate Coordinates
/* J2ME: The Complete Reference James Keogh Publisher: McGraw-Hill ISBN 0072227109 */ //jad file (please verify the jar size) /* MIDlet-Name: TranslateCoordinates MIDlet-Version: 1.0 MIDlet-Vendor: MyCompany MIDlet-Jar-URL: TranslateCoordinates.jar MIDlet-1: TranslateCoordinates, , TranslateCoordinates MicroEdition-Configuration: CLDC-1.0 MicroEdition-Profile: MIDP-1.0 MIDlet-JAR-SIZE: 100 */ import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class TranslateCoordinates extends MIDlet { private Display display; private MyCanvas canvas; public TranslateCoordinates () { display = Display.getDisplay(this); canvas = new MyCanvas (this); } protected void startApp() { display.setCurrent( canvas ); } protected void pauseApp() { } protected void destroyApp( boolean unconditional ) { } public void exitMIDlet() { destroyApp(true); notifyDestroyed(); } class MyCanvas extends Canvas implements CommandListener { private Command exit; private TranslateCoordinates translateCoordinates; private Image image = null; public MyCanvas(TranslateCoordinates translateCoordinates) { this. translateCoordinates = translateCoordinates; exit = new Command("Exit", Command.EXIT, 1); addCommand(exit); setCommandListener(this); try { image = Image.createImage(70, 70); Graphics graphics = image.getGraphics(); graphics.setColor(255,0,0); graphics.fillArc(10, 10, 60, 50, 180, 180); } catch (Exception error) { Alert alert = new Alert("Failure", "Creating Image", null, null); alert.setTimeout(Alert.FOREVER); display.setCurrent(alert); } } protected void paint(Graphics graphics) { if (image != null) { graphics.setColor(255,255,255); graphics.fillRect(0, 0, getWidth(), getHeight()); graphics.translate(45, 45); graphics.drawImage(image, 0, 0, Graphics.VCENTER | Graphics.HCENTER); } } public void commandAction(Command command, Displayable display) { if (command == exit) { translateCoordinates.exitMIDlet(); } } } }