我想做一個在後臺運行的熱鍵程序,我不知道如何讓它檢查何時按下某個鍵(在這種情況下是減號鍵)。我需要程序等待一個鍵被按下,然後程序檢查這個鍵是否是減號鍵。在Java中,我該如何檢查用戶是否按下某個鍵?
我現在使用僞代碼的程序的一個例子就是沿着這些線的某處。
while(true)
{
int pressedKey = userInputedKey;
if(pressedKey == KeyEvent.VK_MINUS)
{
//action to be executed
}
}
我已經找到了很多建議對其他線程使用的KeyListener,但我可能無法正常使用它來,所以如果你的反應是使用的KeyListener請解釋如何充分利用它(準確的說我不不明白當一個KeyEvent被實例化的時候,它已經輸入了作爲該KeyEvent中keyCode的任何鍵的輸入,所以如果我在調用KeyListener時使用它,我將不會得到正確的結果)。當然,我不太瞭解KeyEvent或KeyListener,所以我可能沒有嘗試通過使用KeyListener來解決我的問題。
請參閱到[如何檢查用戶是否按下某個鍵?](http://stackoverflow.com/questions/18037576/how-do-i-check-if-the-user-is-pressing-a-key)或者 [如何檢測一個鍵是否在Java中按?](http://stackoverflow.com/questions/23841127/how-to-detect-if-a-key-was-pressed-in-java) –
如何我要檢查用戶是否按下關鍵?是我一直用來解決我的問題的線索之一,儘管最重要的答案並未解決他的問題(如提問者的評論所示)。 – loserlobster
某些東西必須攔截關鍵事件,並且必須有焦點,所以它不能在後臺運行。想象一下,你有5個程序打開,你把重點放在一個。你不能擁有全部5個攔截關鍵事件,只有一個焦點。 – user1803551