Jtxtfield.addKeyListener(new KeyListener() {
public void keyPressed(KeyEvent e) {};
public void keyTyped(KeyEvent e) {
if(Jtxtfield.getText().equals(""))
System.out.println("hello1");
}public void keyReleased(KeyEvent e) {
if(Jtxtfield.getText().equals(""))
System.out.println("hello2");
}
});
눌려진 첫 번째 키 (예 : 'a')의 출력은 hello1입니다. 두 번째 키 (예 : 'a')를 다시 누르면 예상대로 출력되지 않습니다. 삭제 키를 두 번 누르면 hello1 hello2가 표시됩니다.KeyTyped 메서드는 TextField가 비어 있다고 말합니다.
왜 이런 일이 발생합니까? 왜 txtfield를 처리하는 keyTyped 메소드는 아무것도 가지지 않는 것처럼 보이나요? 좀 더 구체적으로 말하면, 왜 텍스트 필드에서 첫 번째 키가 눌러 진 키를 누를 때만 hello1을 얻을 수 있습니까?
JTextComponent를 사용하지 않는 경우 DocumentListener, – mKorbel
그럼 ... 내 질문에 어떻게 대답합니까? – user678392