j2me1.4 中如何获取按键事件??

NicholasXu 2004-01-19 12:10:32
怎样在Canvas派生类中获得当前的按键事件,并激活某个操作。
比如说:按UP,屏幕就显示 UP.
...全文
64 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
muzg 2004-01-28
  • 打赏
  • 举报
回复
public void keyPressed(int key){
//System.out.println("up hh is"+key);
switch(key){
//case Canvas.FIRE:
case -5:
{
if(down){
System.out.println("x is"+x+"y is"+y);
x1[number1]=x;
y1[number1]=y;
System.out.println("dis_number"+dis_number(y));
number1++;
down=false;
table[dis_number(y)][dis_number(x)]=1;
}
// else{
// down=true;
// x2[number2++]=x+10;
// y2[number2++]=y+10;
// number2++;
// System.out.println("x2 is"+x2[0]+"y2 is "+y2[0]+"number2 is"+number2);
// }
repaint();
first = new Thread(this);
first.start();
break;
}
//case Canvas.UP:
case -1:
{
//System.out.println("up is"+key);
if(y>3){
y=y-10;
}
repaint();
// System.out.println("up y is"+y);
break;
}
// case Canvas.DOWN:
case -2:
{
if(y<140){
y=y+10;
}
repaint();
break;
}
//case Canvas.LEFT:
case -3:
{
if(x>3)
{x=x-10;}
repaint();
break;
}
//case Canvas.RIGHT:
case -4:
{
//System.out.println("left x is"+x);
if(x<141)
{x=x+10;}
repaint();
break;
}
}
}
偶的程序的案件辕马
疯狂低调 2004-01-19
  • 打赏
  • 举报
回复
楼主,这些在J2ME的各种教程中都有提出!
jofield 2004-01-19
  • 打赏
  • 举报
回复
keypress
getkeyname
minj2me 2004-01-19
  • 打赏
  • 举报
回复
public void keyPressed(int keyCode)
{
int gameAction = getGameAction(keyCode)
switch(gameAction)
{
case Canvas.UP:
drawUp = true;
//.................
}
}

在paint(Graphics g)方法中定义当drawUp==true时,显示UP
HashCodeWithJava 2004-01-19
  • 打赏
  • 举报
回复
protected void keyPressed(int keyCode)
{
}

protected void keyReleased(int keyCode)
{
}
zuolin2000 2004-01-19
  • 打赏
  • 举报
回复
你查一下API就知道了
canvas类中有keyPressed(int keyCode)事件
数字键1到数字键9的keyCode值依次是49 - 57

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧