我对Java和Swing非常陌生,但我一直在尝试使用Swing GUI应用程序。它为我的组合框生成了一些代码:
comboBox.addActionListener(EventHandler.create(ActionListener.class, TestController, "changeSomething"));
我也有这个:
和我也有这个:
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
public class StudyPlanController {
private JComboBox factors;
public void changeSomething() {
JOptionPane.showMessageDialog(null, "change!");
}
}
我有两个问题。
当我在组合框中更改所选项时,仅在第一次更改时会收到“更改!”消息。为什么会这样?
在搜索解决方案时,所有设置侦听器的代码与为我生成的代码不同。例如:
box.addItemListener(new ItemListener(){ public void itemStateChanged(ItemEvent e){ System.out.println(e.getItem() + " " + e.getStateChange() ); } });
我创建侦听器的方式是否正确?为什么有两种方法来做到这一点?
谢谢