import javax.microedition.lcdui.*; class KeyEvent extends Canvas implements CommandListener { private String keystr; KeyEvent() { addCommand( new Command("CMD1", Command.SCREEN, 1) ); addCommand( new Command("CMD2", Command.SCREEN, 2) ); setCommandListener(this); } public void paint(Graphics g) { g.setColor(0); g.fillRect(0, 0, getWidth(), getHeight()); g.setColor(0x00ffffff); g.drawString(keystr, 0, 0, g.LEFT|g.TOP); } //コマンド public void commandAction(Command c, Displayable d) { keystr = c.getLabel(); repaint(); } protected void keyPressed(int keyCode) { key2str(keyCode); repaint(); } private void key2str(int keyCode) { keystr = ""; //方向キー int act = getGameAction(keyCode); if (act == UP) { keystr += "UP"; } else if (act == LEFT) { keystr += "LEFT"; } else if (act == RIGHT) { keystr += "RIGHT"; } else if (act == DOWN) { keystr += "DOWN"; } else if (act == FIRE) { keystr += "FIRE"; } //数字キー if (keyCode == KEY_POUND) { keystr += "KEY_#"; } else if (keyCode == KEY_STAR) { keystr += " KEY_*"; } else if (keyCode == KEY_NUM0) { keystr += "NUM0"; } else if (keyCode == KEY_NUM1) { keystr += "NUM1"; } else if (keyCode == KEY_NUM2) { keystr += "NUM2"; } else if (keyCode == KEY_NUM3) { keystr += "NUM3"; } else if (keyCode == KEY_NUM4) { keystr += "NUM4"; } else if (keyCode == KEY_NUM5) { keystr += "NUM5"; } else if (keyCode == KEY_NUM6) { keystr += "NUM6"; } else if (keyCode == KEY_NUM7) { keystr += "NUM7"; } else if (keyCode == KEY_NUM8) { keystr += "NUM8"; } else if (keyCode == KEY_NUM9) { keystr += "NUM9"; } } }