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 GameActionMIDlet extends MIDlet implements CommandListener {
private Command exitCommand;
Display display;
Displayable d;
public void startApp() {
Display display = Display.getDisplay(this);
d = new GameActionCanvas();
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 GameActionCanvas extends Canvas {
int width = 0;
int height = 0;
String aMessage = "message";
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);
g.drawString(aMessage, 10, 10, Graphics.TOP | Graphics.LEFT);
}
protected void keyPressed(int keyCode) {
int gameAction = getGameAction(keyCode);
switch (gameAction) {
case UP:
aMessage = "Up";
break;
case DOWN:
aMessage = "Down";
break;
case LEFT:
aMessage = "Left";
break;
case RIGHT:
aMessage = "Right";
break;
case FIRE:
aMessage = "Send";
break;
case GAME_A:
aMessage = "GAME_A";
break;
case GAME_B:
aMessage = "GAME_B";
break;
case GAME_C:
aMessage = "GAME_C";
break;
case GAME_D:
aMessage = "GAME_D";
break;
default:
aMessage = "";
break;
}
repaint();
}
}