读书人

ActionEvent.getSource()的困惑解决办

发布时间: 2012-03-19 22:03:05 作者: rapoo

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

读书人网 >J2SE开发

热点推荐