-1
我試圖識別哪個鍵被按下並根據需要執行操作。基本上使用它們在按下「i」n「o」按鈕時縮小n倍。識別在bb中按哪個鍵
我已經使用了這些方法:
protected boolean keyDown(int keycode, int time)
{
int key=Keypad.key(keycode);
String keyC=Integer.toString(key);
System.out.println("********************************* key pressed"+key);
System.out.println("********************************* key pressed to string"+keyC);
return super.keyDown(keycode, time);
}
public boolean keyChar(char key, int status, int time)
{
System.out.println("inside keychar");
boolean retval = false;
int zoom=mapField.mf.getZoom();
if(key== 'o'||key== 'O')
{
zoom=zoom-3;
mapField.mf.setZoom(zoom);
retval = true;
}
super.mf.setZoom(zoom);
return retval;
}
這些方法似乎沒有在所有的工作。
通過不工作你的意思是說,這兩種方法從來沒有被調用,或者是否有一些其他錯誤,你正在得到?另外,你可以發佈這個代碼所在的類嗎?看看你是否使用KeyListener這樣的事情對於看到什麼是錯誤很重要。 – demongolem
是的,他們從未被召喚過。我發現了錯誤。這是因爲這些方法都在內部類中,一旦我直接將它們放在屏幕上,它就開始工作。 我仍然需要知道如何從任何按下的鍵獲取代碼或字符。應該有一種方法...我失蹤的東西? – BerryQuest