【发布时间】:2014-07-14 15:46:22
【问题描述】:
我有一个JComboBox
JComboBox tableChoose = new JComboBox();
tableChoose.addItem("Bill");
tableChoose.addItem("Bob");
tableChoose.setSelectedItem("Bill");
以及一些处理方法
public void addComboActionListener(IComboHandler handler){
tableChoose.addActionListener(handler);
}
public Object getTableChooseSelectedItem(){
return tableChoose.getSelectedItem();
}
public void actionPerformed(ActionEvent event) {
JOptionPane.showMessageDialog(null, fileReaderWindow.getTableChooseSelectedItem() , null, JOptionPane.ERROR_MESSAGE);
}
如您所见,我将“Bill”设置为第一个选项。当我运行程序时,我必须重新选择“Bill”才能触发actionPerfomed中的事件。
有没有办法在不重新选择 JComboBox 中的项目的情况下触发事件?提前谢谢你。
【问题讨论】:
-
在设置选中项之前有没有尝试添加监听器?
-
@gtgaxiola 这是
protected,除非你让你的类扩展JComboBox(这不是OP的场景),否则你不能调用它。 -
Mark Peters 答案是您尝试做的最佳方法