取得手机按键值的midlet

//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();
}

}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值