好吧,我正在製作一個程序,它應該按下'f'鍵3秒後執行某些操作,如果它沒有按下3秒鐘,那麼它不應該做任何事情,我知道如何知道是否被按下和釋放的關鍵信息,但我沒有找到任何方法知道被壓的時間在java中按下多長時間
private void formKeyPressed(java.awt.event.KeyEvent evt) {
// to know if a key is being pressed
}
private void formKeyReleased(java.awt.event.KeyEvent evt) {
// to know when a key is released
}
編輯: Nevermid關於這些問題的答案,它沒沒有工作。使它工作我不得不這樣做:
private long keyPressedMillis;
private boolean alreadyPassed==false;
...
private void formKeyPressed(KeyEvent event) {
if(alreadyPassed==false)
keyPressedMillis = System.currentTimeMillis()
alreadyPassed=true;
}
private void forKeyReleased(KeyEvent event) {
long keyPressLength = System.currentTimeMillis() - keyPressedMillis;
alreadyPassed=false;
System.out.println("Key Pressed "+keyPressLenght+" ms");
}
好,謝謝,我會檢查類定時器 – HkGDota
它沒有工作,我希望它按3秒鍵後,顯示像「SS」的信息,但它並沒有顯示任何東西 – HkGDota
我們不是額外的luci巫師。因此我們無法解釋爲什麼你的代碼在沒有看到你的代碼的情況下無法工作編輯你的問題併發布你的代碼。 –