【发布时间】:2014-07-14 18:09:18
【问题描述】:
谁能解释一下为什么我们要通过对象将item1、2、3 和passwordField 传递给另一个类(处理程序)? getsource 是什么?并得到命令?为什么我们要在这里创建一个字符串?
thehandler handler =new thehandler();
item1.addActionListener(handler);
item2.addActionListener(handler);
item3.addActionListener(handler);
passwordField.addActionListener(handler);
处理程序
private class thehandler implements ActionListener{
public void actionPerformed(ActionEvent event){
String string="";
if(event.getSource()==item1)
string=String.format("field 1: %s",event.getActionCommand());
else if(event.getSource()==item2)
string=String.format("field 2: %s",event.getActionCommand());
else if(event.getSource()==item3)
string=String.format("field 3: %s",event.getActionCommand());
else if (event.getSource()==passwordField)
string=String.format("passwordField: %s",event.getActionCommand());
JOptionPane.showMessageDialog(null,string);
}
}
【问题讨论】:
-
这个问题似乎离题了,因为可以通过适当研究观察者模式和如何使用 ActionListeners 教程来获得解决方案
标签: java swing events awt action