- Java code
public class ChangePwdTeacher extends JPanel implements ActionListener{ private JTextField jtf = new JTextField(); // 创建用户名输入框 //创建一组密码框 …… public void addListener(){ jtf.addActionListener(this); …… } public void actionPerformed(ActionEvent e) { if(e.getSource() == jtf){ …… } } }
ActionEvent 继承了 java.util.EventObject 的source字段、getSource() 方法。
自己也有 设置 source 的构造器
ActionEvent(Object source, int id, String command)
……
但到底是怎样初始化的呢?
就调用:
public void addListener(){
jtf.addActionListener(this);
……
}
??
有点迷糊!
------解决方案--------------------
e.getSource()返回添加事件监听的对象,如你写就是JTextField 对象.
这在一个监听事件监听多个不同类型对象时很有用.