//j2me 按任意键,显示键值到手机屏幕上
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.CustomItem;
import java.util.*;
public class KeyTest extends MIDlet implements CommandListener
{
private Command exit;
private Display display;
private myCanvas mc;
private int keynum=0;
// private String keyname;
private String fontc;
public KeyTest()
{
exit = new Command("exit",Command.EXIT,1);
display = Display.getDisplay(this);
mc = new myCanvas();
mc.addCommand(exit);
mc.setCommandListener(this);
}
protected void startApp()
{
System.out.println("startApp!!!!!!!!!!!!!!");
display.setCurrent(mc);
}
protected void pauseApp()
{
}
protected void destroyApp(boolean unconditional)
{
}
public void commandAction(Command command,Displayable displayable)
{
if(command == exit)
{
destroyApp(true);
notifyDestroyed();
}
}
/*
protected void keyPressed(int keyCode)
{
// keyname = getGameAction(keyCode);
keynum = keyCode;
mc.repaint();
System.out.println("keyPressed!!!!!!!!!!!!!");
}
*/
class myCanvas extends Canvas
{
private Image offScreenBuffer;
public myCanvas()
{
offScreenBuffer = Image.createImage(getWidth(),getHeight());
}
private void render()
{ Font font = Font.getDefaultFont();
Graphics osg = offScreenBuffer.getGraphics();
osg.setColor(0x00000000);
osg.fillRect(0,0,getWidth(),getHeight());
osg.setColor(0x00ffffff);
fontc = "this keyNUM is: ";
try
{
int fontwidth = font.stringWidth(fontc);
}
catch(Exception x)
{
}
// osg.drawString("this keyNAME is: "+keyname ,getWidth()/2,getHeight()/2,Graphics.HCENTER|Graphics.VCENTER);
osg.drawString("this keyNUM is: "+keynum,50,offScreenBuffer.getHeight()/2,Graphics.LEFT|Graphics.TOP);
System.out.println("render!!!!!!!!!!!!!3");
}
public void paint(Graphics g)
{
System.out.println("paint!!!!!!!!!!1");
render();
g.drawImage(offScreenBuffer,0,0,Graphics.LEFT|Graphics.TOP);
}
protected void keyPressed(int keyCode)
{
keynum = keyCode;
repaint();
}
}
}