我有一个jComboBox
,碰巧我可能拥有超过项目的相同价值。在这种情况下,当选择其中一个时,选择将始终指向列表中的第一个项目。点击后立即。
有经验吗?有一些解决方案,所以选择不会改变吗?
当我选择:
http://i.stack.imgur.com/IjlYM.png
再次检查:
答案 0 :(得分:0)
碰巧我可能拥有与物品相同的价值。
然后听起来就像是在组合框中添加自定义对象。
如果它显示相同的值但是是不同的项,那么您需要在Object中实现equals()
方法,以便可以选择正确的Object。
如果您需要更多帮助,请发布一个显示问题的正确SSCCE,因为我们没有足够的信息来猜测您可能在做什么。
答案 1 :(得分:0)
JComboBox始终尝试将列表中选择的内容与显示字段中显示的内容同步。为此,它按顺序搜索列表以查找编辑器字段的匹配项。因此,如果列表中有相同的项目,它将始终找到第一个。因此,如果列表中存在相同的字符串,则无法使用String对象。你需要做@camickr所说的并使用一个自定义对象,它有一些方法来区分两个对象,其toString()方法返回相同的东西(假设你使用默认的模型和编辑器)。