Java 为什么JComboBox似乎添加了多个项实例?
这个JavaSwingJComboBox是根据对系统配置的更改而修改的。 在示例图像中,按下选择是指未选择任何内容且配置中有一个测试单元,但按下选择在下拉列表中显示两次。额外按下以选择项的行为类似于项0,因此功能正常,但这种方式看起来很糟糕。有什么想法吗Java 为什么JComboBox似乎添加了多个项实例?,java,swing,jcombobox,Java,Swing,Jcombobox,这个JavaSwingJComboBox是根据对系统配置的更改而修改的。 在示例图像中,按下选择是指未选择任何内容且配置中有一个测试单元,但按下选择在下拉列表中显示两次。额外按下以选择项的行为类似于项0,因此功能正常,但这种方式看起来很糟糕。有什么想法吗 public class Controller extends javax.swing.JFrame implements Observer { ... public void update(Observable o, Obje
public class Controller extends javax.swing.JFrame implements Observer {
...
public void update(Observable o, Object arg) {
jComboBox.removeAllItems();
jComboBox.addItem("Press to Select");
String[] names = Configuration.getNames();
for (String n : names) {
jComboBox.addItem(n);
}
...
更新方法是由事件分派线程调用还是由其他线程调用?如果不确定,则记录SwingUtilities.isEventDispatchThread。如果是任何其他线程,请将更新移动到可运行状态,并使用SwingUtilities.invokeLater将其安排在EDT上执行
尝试将setSelectedItemnull作为更新的一部分。愚蠢的错误。添加两次@Geoffrey。在另一个类中查找第二个外接程序花费的时间太长。我祖母警告我不要变老。你确定你没有两次在jComboxAddItem中添加断点而意外添加它吗?你有自定义渲染器或类似的东西吗!对我一直在调试程序,试图找到它有一段时间,但是的,它在那里。仍在学习如何使用NetBeans IDE。谢谢