Immutable Image Example
//jad file (please verify the jar size) /* MIDlet-Name: ImmutableImageExample MIDlet-Version: 1.0 MIDlet-Vendor: MyCompany MIDlet-Jar-URL: ImmutableImageExample.jar MIDlet-1: ImmutableImageExample, , ImmutableImageExample MicroEdition-Configuration: CLDC-1.0 MicroEdition-Profile: MIDP-1.0 MIDlet-JAR-SIZE: 100 */ import javax.microedition.lcdui.Alert; 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.lcdui.Image; import javax.microedition.midlet.MIDlet; public class ImmutableImageExample extends MIDlet { private Display display; private MyCanvas canvas = new MyCanvas(this); public ImmutableImageExample() { display = Display.getDisplay(this); } protected void startApp() { display.setCurrent(canvas); } protected void pauseApp() { } protected void destroyApp(boolean unconditional) { } public void exitMIDlet() { destroyApp(true); notifyDestroyed(); } public Display getDisplay() { return display; } } class MyCanvas extends Canvas implements CommandListener { private Command exit; private ImmutableImageExample immutableImageExample; private Image image = null; public MyCanvas(ImmutableImageExample immutableImageExample) { this.immutableImageExample = immutableImageExample; exit = new Command("Exit", Command.EXIT, 1); addCommand(exit); setCommandListener(this); try { image = Image.createImage("/myImage.png"); } catch (Exception error) { Alert alert = new Alert("Failure", "Can't open image file.", null, null); alert.setTimeout(Alert.FOREVER); immutableImageExample.getDisplay().setCurrent(alert); } } protected void paint(Graphics graphics) { if (image != null) { graphics.drawImage(image, 0, 0, Graphics.VCENTER | Graphics.HCENTER); } } public void commandAction(Command command, Displayable display) { if (command == exit) { immutableImageExample.exitMIDlet(); } } }