选择相同值的索引获取第一项未指定的索引

时间:2016-05-05 12:50:51

标签: java jcombobox

我有三个jcombobox,其中都有受尊重的数据,发票ID,发票日期和发票金额。这三个人都有动作监听器,将它们发送给一个班级。在课堂上我运行一个开关盒,看看哪个组合框发生了变化。从那里我得到所选项目并将其他两个设置为所选项目。 e.g。

SET NAMES utf8

我遇到的问题是,如果金额相同,则选择具有该金额的第一个索引。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

问题在于,即使您致电setSelectedItem,JComboBox也会在内部使用setSelectedIndex。选择equals的第一项。

你可以为你的金额字段使用一个对象包装器(我想它是一个双重的)来处理这个问题。

答案 1 :(得分:0)

这将是我对KDM建议的解释。

JComboBox<Object> idBox = new JComboBox<>();

然后在添加对象时:

idBox.add(new Object(){ public String toString(){ return invoice.id + "";}});

我认为更好的解决方案是使用自定义渲染器并使用JComboBox,这样您的发票就会存储在每个框中,只是以不同的方式呈现,即返回相应的字符串。