我在 Oracle 的网站上找到了与以下类似的代码。出于空间原因,我删除了一些与布局无关的内容。
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 何时检测到一个动作。
我想知道:
- 触发此方法的唯一操作是输入按钮吗?
- 在我附加
this
到textField
对象的动作侦听器的构造函数中,到底发生了什么?