当选择重复的itens到第一个列表时,jComboBox更改selectedItem

时间:2016-04-13 12:46:34

标签: java swing jcombobox

我有一个jComboBox,碰巧我可能拥有超过项目的相同价值。在这种情况下,当选择其中一个时,选择将始终指向列表中的第一个项目。点击后立即。 有经验吗?有一些解决方案,所以选择不会改变吗?

当我选择:

http://i.stack.imgur.com/IjlYM.png

再次检查:

http://i.stack.imgur.com/c1lcQ.png

2 个答案:

答案 0 :(得分:0)

  

碰巧我可能拥有与物品相同的价值。

然后听起来就像是在组合框中添加自定义对象。

如果它显示相同的值但是是不同的项,那么您需要在Object中实现equals()方法,以便可以选择正确的Object。

如果您需要更多帮助,请发布一个显示问题的正确SSCCE,因为我们没有足够的信息来猜测您可能在做什么。

答案 1 :(得分:0)

JComboBox始终尝试将列表中选择的内容与显示字段中显示的内容同步。为此,它按顺序搜索列表以查找编辑器字段的匹配项。因此,如果列表中有相同的项目,它将始终找到第一个。因此,如果列表中存在相同的字符串,则无法使用String对象。你需要做@camickr所说的并使用一个自定义对象,它有一些方法来区分两个对象,其toString()方法返回相同的东西(假设你使用默认的模型和编辑器)。