从字符串

时间:2017-01-08 21:26:36

标签: java swing jcombobox

我有一个JComboBox,其值由两部分构成 int-String ,如下所示:

01-one
02-two
03-three

所以现在我只有String部分,并想要setSelectedItem这部分的项目,但我认为这是不可能的,因为值不匹配或不相同

myComboBox.setSelectedItem("?" + myString);

所以我想做的是:

myComboBox.setSelectedItem("like myString");

有人有想法设置选择与组合框中的值相似的项目,或者这是不可能的吗?

2 个答案:

答案 0 :(得分:3)

您可以尝试使用.contains方法查看组合框中的第一项是否包含该特定单词,然后重复该单词直到找到特定索引。

例如:

if (jComboBox1.getItemAt(0).toString ().contains ("two")) 
{ 
    jComboBox1.setSelectedIndex(0);
}

重复此步骤或尝试使用for循环,如果您的组合框包含许多项目,那就太棒了。

答案 1 :(得分:1)

如果您希望能够完全按字符串选择,这是您在描述中指出的内容,我将创建一个类来表示您的特定项目,在其中保存int和字符串作为单独的字段,并覆盖{ {1}}返回您想要的表示。然后,您可以根据字符串单独搜索项目。对于相对较少数量的项目,这是有效且简单的。如果您有大量项目,我建议使用字符串作为键将它们存储为toString()中的值。

HashMap