我有JComboBox
只有一个项目。当我将此项目填充到Box时,我立即使用combobox.setSelectedItem(item)
选择它。但不幸的是,当我使用combobox.getSelectedIndex(0)
或combobox.getSelectedItem(item)
阅读该项时,我得到-1 / null。
当然我知道哪个项目在框中,但我不想添加一个声明来回应那个案例。
你能告诉我如何阅读组合框中的单独物品吗?
答案 0 :(得分:3)
<强>问题强>
self.init
将combobox.setSelectedItem(item)
作为item
并在项目中进行检查。由于c Object
返回-1,我们已经知道没有选择,因此您的选择不成功。
<强>原因强>
您将对象传递给ombobox.getSelecedIndex
,但在项目中找不到setSelectedItem
。您的Object
很容易Object
,并且您传递了类似的String
作为参数,但您传递的参数不同String
,bug类似。
行为测试
String
<强>解决方案强>
在您致电String foo = "bar";
boolean theSame = (foo == "bar"); //false
boolean similar = foo.equals("bar"); //true
而非类似Object
时使用相同的setSelectedItem
。