글쎄, 저는 프로그램을 만들고 있어요. 3 초 동안 'f'키를 누른 후에 뭔가해야합니다. 3 초 동안 누르지 않았다면, 안됩니다. 내가 키를 누를 및 발표되고 있는지 알고하는 방법을 알고, 아무것도 할하지만 난 누르고있는 시간을 알 수있는 방법을 찾을 수없는자바에서 키가 눌려지는 시간은 얼마입니까
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, 그것은 didn를 일하지 마라. 그것이 내가이 일을했다 작동하도록 : 키가 해제 될 경우에만 불구하고, 액션을 트리거합니다
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");
}
괜찮 덕분에, 나는 3 초 키를 누른 후 "SS"와 같은 메시지를 보여주기를 원했다, 그것은 작동하지 않았다 클래스 타이머 – HkGDota
을 확인하지만 그것은 아무것도 우리가있어 – HkGDota
를 보이지 않았다 여분의 luci 마법사가 아닙니다. 따라서 코드를 보지 않고 코드가 작동하지 않는 이유를 설명 할 수 없습니다. 질문을 수정하고 코드를 게시하십시오. –