概要

JTextFieldActionListenerを追加して、Enterキーの入力を取得します。

サンプルコード

JTextField textField2 = new JTextField("addActionListener");
textField2.addActionListener(e -> append(((JTextField) e.getSource()).getText()));
View in GitHub: Java, Kotlin

解説

上記のサンプルでは、JTextFieldActionListenerなどを追加してEnterキーを入力した場合の動作をテストしています。

  • 上: Default
    • デフォルトのJTextField
    • 自身にフォーカスがあり、かつ親のJRootPaneDefaultButtonが設定されている場合、Enterキー入力でDefaultButtonがクリックされる
  • 中: DocumentListener
    • JTextFieldのドキュメントにDocumentListenerを追加
    • DocumentListenerEnterキーの入力には反応しない
    • 自身にフォーカスがあり、かつ親のJRootPaneDefaultButtonが設定されている場合、Enterキー入力でDefaultButtonがクリックされる
  • 下: ActionListener
    • JTextFieldActionListenerを追加
    • 親のJRootPaneDefaultButtonが設定されているかどうかに関わらずEnterキー入力で自身に追加されたActionListenerが実行される
    • このActionListenerはマウスクリックには反応しない

参考リンク

コメント