ActionEvent.getSource()的困惑
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 对象.
这在一个监听事件监听多个不同类型对象时很有用.