package src;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class KeyEventTest extends MIDlet implements CommandListener
{
private MyCanvas myCanvas;
private Command quit;
class MyCanvas extends Canvas
{
private String lastKeyName = "Hit a Key"; //name of the last key they hit
private int x = 0; //current position
private int y = 0;
protected void paint(Graphics g) {
// TODO 自动生成方法存根
g.setColor(255, 255, 255);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0, 0, 0);
g.drawString(lastKeyName, x, y, g.LEFT|g.TOP);
}
protected void keyPressed(int keyCode)
{
if(keyCode >0)
{
lastKeyName = this.getKeyName(keyCode);
switch(this.getGameAction(keyCode))
{
case UP : y--; break;
case DOWN : y++; break;
case RIGHT: x++; break;
case LEFT : x--; break;
}
this.repaint();
}
}
}
public KeyEventTest()
{
myCanvas = new MyCanvas();
quit = new Command("Quit",Command.EXIT,2);
myCanvas.addCommand(quit);
myCanvas.setCommandListener(this);
}
protected void destroyApp(boolean b) throws MIDletStateChangeException
{
// TODO 自动生成方法存根
}
protected void pauseApp()
{
// TODO 自动生成方法存根
}
protected void startApp() throws MIDletStateChangeException
{
// TODO 自动生成方法存根
Display.getDisplay(this).setCurrent(myCanvas);
}
public void commandAction(Command c, Displayable d)
{
// TODO 自动生成方法存根
try
{
if(c ==quit)
{
destroyApp(true);
notifyDestroyed();
}
} catch (MIDletStateChangeException e)
{
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}