2014-10-07 75 views
0

我試圖檢測一個空間點擊鍵盤使用KEYBOARD_SPACE,它似乎沒有檢測到任何東西。我的代碼是:檢測鍵盤空間點擊

@Override 
public boolean onKeyUp(int keyCode, KeyEvent event) { 
    switch (keyCode) { 
     case KeyEvent.KEYCODE_SPACE: 
      return true; 
     case KeyEvent.KEYCODE_DEL: 
      return true; 
     default: 
      return super.onKeyUp(keyCode, event); 
    } 
} 

KeyEvent.KEYCODE_DEL完美的作品第二種情況,所以我有點不確定是什麼問題。有沒有更好的方法來做到這一點?

感謝您提前提供任何幫助!

+0

[Here](http://stackoverflow.com/questions/23618567/dispatchkeyevent-to-listen-for-spacebar-being-pressed)是一個類似的問題。答案指出,您不應該依靠軟鍵盤上的按鍵來生成事件。 – BradyK 2014-10-07 16:36:47

回答

0
import java.awt.event.*; 
import javax.swing.*; 



public class KeyboardControls implements KeyListener 
{ 


    public KeyboardControls() 
    { 
     super(); 
    } 

    public void keyTyped(KeyEvent e) 
    { 


    } 

    public void keyPressed(KeyEvent e) 
    { 

     doSomething(e); 

    } 

    public void keyReleased(KeyEvent e) 
    { 


    } 

    private void doSomething(KeyEvent e) 
    { 


     int id = e.getID(); 
     String keyString; 

     int keyCode = e.getKeyCode(); 
     keyString = "" + KeyEvent.getKeyText(keyCode); 


     if(keyString.equals("Space")) 
     { 

     // whatever 

     } 



    } 



} 

這是我會這麼做的。它檢查它是否是空間,然後調用其中的任何方法。