/*--------------------------------------------------
* MutableImage.java
*
* Example from the book: Core J2ME Technology
* Copyright John W. Muchow http://www.CoreJ2ME.com
* You may use/modify for any non-commercial purpose
*-------------------------------------------------*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class MutableImage extends MIDlet implements CommandListener
{
private Display display; // Reference to display object
private Form fmMain; // Main form
private Command cmExit; // Command to exit the MIDlet
private static final String message = "Core J2ME";
public MutableImage()
{
display = Display.getDisplay(this);
// Create a mutable image and get graphics object for image
Image tmpImg = Image.createImage(80, 20);
Graphics graphics = tmpImg.getGraphics();
// Specify a font face, style and size
Font font = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_ITALIC, Font.SIZE_MEDIUM);
graphics.setFont(font);
// Center the text in the image
graphics.drawString(message,
(tmpImg.getWidth() / 2) - (font.stringWidth(message) / 2), 0,
Graphics.TOP | Graphics.LEFT);
// Draw a rectangle around the image
graphics.drawRect(0,0, tmpImg.getWidth()-1, tmpImg.getHeight()-1);
cmExit = new Command("Exit", Command.EXIT, 1);
fmMain = new Form("");
fmMain.addCommand(cmExit);
fmMain.setCommandListener(this);
// Convert the image to immutable and add to the form
fmMain.append(Image.createImage(tmpImg));
display.setCurrent(fmMain);
}
public void startApp()
{
display.setCurrent(fmMain);
}
public void pauseApp()
{
}
public void destroyApp(boolean unconditional)
{
}
public void commandAction(Command c, Displayable s)
{
if (c == cmExit)
{
destroyApp(false);
notifyDestroyed();
}
}
}
|