Nie wiem czy Cię zrozumiałem, ale czy chcesz po prostu uruchomić midlet następnie po wciśnieciu przycisku ma się coś narsować?
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class HelloWorld extends MIDlet implements CommandListener {
MyCanvas myCanvas;
Command commandMsg = new Command("ToggleMsg", Command.SCREEN, 1);
Command commandExit = new Command("Exit", Command.EXIT, 99);
public HelloWorld() {
myCanvas = new MyCanvas();
myCanvas.addCommand(commandExit);
myCanvas.addCommand(commandMsg);
myCanvas.setCommandListener(this);
}
protected void startApp() throws MIDletStateChangeException {
Display.getDisplay(this).setCurrent(myCanvas);
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException { }
protected void pauseApp() { }
public void commandAction(Command arg0, Displayable arg1) {
if(arg0 == commandExit) {
try {
destroyApp(false);
notifyDestroyed();
} catch (MIDletStateChangeException e) {
e.printStackTrace();
}
}else
if(arg0 == commandMsg) {
myCanvas.ToggleMsg();
}
}
}
//Klasa dziedzicząca po Canvas
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;
public class MyCanvas extends Canvas {
private boolean SayHello = true;
void ToggleMsg() {
SayHello = !SayHello;
repaint();
}
protected void paint(Graphics arg0) {
int width = getWidth();
int height = getHeight();
arg0.setColor(0xFFFFFF);
arg0.fillRect(0, 0, width, height);
if(SayHello) {
Font font = arg0.getFont();
int fontWidth = font.stringWidth("Hello World!!");
int fontHeight = font.getHeight();
arg0.setColor(255, 0, 0);
arg0.setFont(font);
arg0.drawString("Hello World!!", (width-fontWidth)/2, (height-fontHeight)/2, arg0.TOP | arg0.LEFT);
}
}
}
POZDRAWIAM