【问题标题】:Java Swing JComboBox select only available itemJava Swing JComboBox 仅选择可用项目
【发布时间】:2017-01-22 10:06:30
【问题描述】:

我有一个JComboBox,只有一件物品。当我将此项目填充到 Box 时,我立即使用 combobox.setSelectedItem(item) 选择它。但不幸的是,当我使用combobox.getSelectedIndex(0)combobox.getSelectedItem(item) 阅读该项目时,我得到-1 / null。

我当然知道盒子里有哪个项目,但我不想添加声明来应对这种情况。

你能告诉我如何阅读组合框中的唯一项目吗?

【问题讨论】:

  • 对不起,我不能在正文中打招呼......所以嘿伙计们:D
  • 你能告诉我们你的代码吗?
  • 您的答案已经正确:D。因此,如果您不坚持 j0chn,我将不会发布任何代码
  • “抱歉,我不能在正文中打招呼……” 这是一个技术问答网站,而不是社交网络。这里的称呼只是噪音。不要将它们包含在问题或 cmets 中。

标签: java swing jcombobox


【解决方案1】:

问题

combobox.setSelectedItem(item)item 作为Object 并在项目之间进行检查。由于 combobox.getSelecedIndex 返回 -1,我们已经知道没有选择,因此您的选择不成功。

原因

您将对象传递给setSelectedItem,但在项目中找不到Object。您的Object 很可能是String,并且您传递了类似的String 作为参数,但是您传递的参数与String 不同,错误类似。

行为测试

String foo = "bar";
boolean theSame = (foo == "bar"); //false
boolean similar = foo.equals("bar"); //true

解决方案

调用setSelectedItem 时使用相同的Object,而不是类似的Object

【讨论】:

  • 嘿,感谢您的重播。那是错误。当我通过常量选择它时,它可以工作。谢谢
猜你喜欢
  • 2013-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多