Oracle の Web サイトで、次のようなコードを見つけました。スペース上の理由から、レイアウトに関して無関係なものを削除しました。
private JTextField textField;
public class TextDemo extends JPanel implements ActionListener
{
public TextDemo()
{
textField = new JTextField(5);
//This causes a leaking this in constructor warning...
textField.addActionListener(this);
//code here for layout and to add the textfield to the panel
}
private static int ctr = 0;
@Override
public void actionPerformed(ActionEvent evt)
{
System.out.println(ctr++);
}
}
そこで、この actionListener がいつアクションを検出しているかを確認するためにカウンターを出力してインクリメントする print ステートメントを作成しました。
私は考えていた:
- このメソッドをトリガーする唯一のアクションは、入力ボタンですか?
this
オブジェクトのアクション リスナーにアタッチしたコンストラクターではtextField
、正確には何が起こるのでしょうか?