gpt4 book ai didi

swing - JComboBox 项目更改

转载 作者:行者123 更新时间:2023-11-29 09:42:14 24 4
gpt4 key购买 nike

我的 JComboBox 模型包含 item1item2item1 等项目。我的问题是当我在 JComboBox 中选择第三项 (item1) 并检查 getSelectedIndex() 它总是返回 0。

如果我的模型中的项目相同,我如何才能以不同方式获取每个项目的索引?喜欢:

  • item1 返回 0
  • 项目 2 返回 1
  • item1 返回 2

最佳答案

它返回 index = 0。因为 getSelectedIndex() 方法对 JComboBox 中的对象使用 .equals 并将其与选定的对象进行比较。在您的情况下,因为 item1 也在索引 0 处,它发现条件为真并返回 0。如果您想获得不同的索引,则必须覆盖 getSelectedIndex() 方法。

JComboBox 的默认 getSelectedIndex() 方法概要,位于 Java2s :

public int getSelectedIndex() {
Object sObject = dataModel.getSelectedItem();
int i, c;
Object obj;

for (i = 0, c = dataModel.getSize(); i < c; i++) {
obj = dataModel.getElementAt(i);
if (obj != null && obj.equals(sObject))
return i;
}
return -1;
}

您应该在 2 个条目中有一些不同的东西 [如果项目对象有名称或其他任何东西,则可能是 itemName] 以获得所需的结果。覆盖 getSelectedIndex() 并比较所有应该不同的东西。如果两个条目完全相同,那么添加两次有什么意义?

关于swing - JComboBox 项目更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6438374/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com