我有一个JComboBox
,其值由两部分构成 int-String ,如下所示:
01-one
02-two
03-three
所以现在我只有String
部分,并想要setSelectedItem
这部分的项目,但我认为这是不可能的,因为值不匹配或不相同
myComboBox.setSelectedItem("?" + myString);
所以我想做的是:
myComboBox.setSelectedItem("like myString");
有人有想法设置选择与组合框中的值相似的项目,或者这是不可能的吗?
答案 0 :(得分:3)
您可以尝试使用.contains
方法查看组合框中的第一项是否包含该特定单词,然后重复该单词直到找到特定索引。
例如:
if (jComboBox1.getItemAt(0).toString ().contains ("two"))
{
jComboBox1.setSelectedIndex(0);
}
重复此步骤或尝试使用for循环,如果您的组合框包含许多项目,那就太棒了。
答案 1 :(得分:1)
如果您希望能够完全按字符串选择,这是您在描述中指出的内容,我将创建一个类来表示您的特定项目,在其中保存int和字符串作为单独的字段,并覆盖{ {1}}返回您想要的表示。然后,您可以根据字符串单独搜索项目。对于相对较少数量的项目,这是有效且简单的。如果您有大量项目,我建议使用字符串作为键将它们存储为toString()
中的值。
HashMap