1. ホーム
  2. java

[解決済み] JTextFieldのエンターキーを検出する

2022-10-25 09:05:08

質問

を押したことを検出することは可能ですか? Enter を押したことを検出することはできますか?ボタンを作成し、それをデフォルトとして設定することなく。

どのように解決するのですか?

A JTextFieldActionListener と同じように JButton があります。を参照してください。 addActionListener() のメソッド JTextField .

例えば

Action action = new AbstractAction()
{
    @Override
    public void actionPerformed(ActionEvent e)
    {
        System.out.println("some action");
    }
};

JTextField textField = new JTextField(10);
textField.addActionListener( action );

ここで、イベントが発生するのは を入力します。 キーが使われたときに発生します。

また、付加価値として、ボタンをデフォルトボタンにしなくても、リスナーをボタンと共有することができます。

JButton button = new JButton("Do Something");
button.addActionListener( action );

注意:この例では Action を実装しています。 ActionListener なぜなら Action の方が新しい API であり、機能が追加されているからです。たとえば Action を無効にすると、テキストフィールドとボタンの両方のイベントを無効にすることができます。