站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2ME 专题关于手机键盘的方向导航键的问题

关于手机键盘的方向导航键的问题

摘要: 关于手机键盘的方向导航键的问题


手机的键盘除了上下左右四个方向外,中间还有一个键,这个键是怎么控制的啊?在某些时候它是确认键。我不明白它是怎么控制的,可以人为的修改它的功能吗?


public class LowEventHandleCanvas extends Canvas {
private LowEventHandleMIDlet lowEventHandleMIDlet;
private String str="";

public LowEventHandleCanvas() {
//super();
// TODO Auto-generated constructor stub

}

public LowEventHandleCanvas(LowEventHandleMIDlet lowEventHandleMIDlet){
this.lowEventHandleMIDlet=lowEventHandleMIDlet;
}
protected void paint(Graphics arg0) {
// TODO Auto-generated method stub
arg0.setColor(255,255,255);
arg0.fillRect(0,0,this.getWidth(),this.getHeight());
arg0.setColor(0,0,0);
Font font=arg0.getFont();
int strWidth=font.stringWidth(str);
int strHeigh=font.getHeight();
int x=(this.getWidth()-strWidth)/2;
int y=(this.getHeight()-strHeigh)/2;
arg0.drawString(str,x,y,Graphics.TOP | Graphics.LEFT);


}

public void keyPressed(int keyCode){
if(keyCode==Canvas.KEY_STAR){
lowEventHandleMIDlet.quit();
}else{
str="";
str="你按下的键是: "+this.getKeyName(keyCode)+"键值是: "+keyCode;
this.repaint();
}
}


}
//不知道对你用用没,这养可以得到键值


根据机型,键值都不一样.一般可以从getGameAction得到Canvas.FIRE值


请问有没有这样的程序做为例子?我是第一次写这个东西,实在是很迷茫。
在public void commandAction(Command c,Item item)函数里写
if(getGameAction(keyCode)==Canvas.FIRE)
可是这个keyCode是怎么回事呢?




我的程序框架是这样的:
public class myCustomItem extends CustomItem implements ItemCommandListener
{
......
public void commandAction(Command c,Item item)
{
int keyCode=8;//keyCode我不知道怎么定义,但是我要用到的键是四个方向键中间的那个select键。
if(getGameAction(keyCode)==Canvas.FIRE)
{
处理;
}
}
}


啊,我和米香儿是相同的疑问,高手快来帮帮忙


你这个又不是Canvas ,怎么用了getGameAction
getGameAction 通常是用在Canvas里的
public void keyPressed(int keyCode)
{

switch(this.getGameAction(key))
{
case Canvas.FIRE:
.
.



不能这么用吗?可是CustomItem的API里有public int getGameAction(int keyCode)这个函数啊?只是里面对keyCode的描述过于简单,我看不明白。



public class MyCustomItem extends CustomItem
{
......
public void keyPressed(int keyCode)
{
if (getGameAction(keyCode) == Canvas.FIRE)
{
//df.excute(href);
}
}
......
}
这样写是对的。由于CustomItem类本身有keyPressed函数,所以不用commandAction()方法也可以,也就不用继承ItemCommandListner了。


↑返回目录
前一篇: POST方法向服务端发送信息,Servlet的req.getParameter()取不到值?
后一篇: 问个画图的问题