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です。 2番目のキー(「a」をもう一度)を押すと、(期待通りに)出力がありません。 削除キーを2回押すと、hello1 hello2が表示されます。KeyTypedメソッドでは、TextFieldが空白であると表示されます。
どうしてですか? keyTypedメソッドがtxtfieldを何も処理していないかのように扱うのはなぜですか?具体的には、テキストフィールドで最初に押されたキーを押すと、hello1しか得られないのはなぜですか?
JTextComponent用ではないDocumentListener、 – mKorbel
これはどうして私の質問に答えるのですか? – user678392