显示在JList中选择的多个项目

时间:2015-02-05 13:42:36

标签: java swing jlist

我有一个JList(带有Multiple Selections选项),我需要向用户显示多个Selected Item:

这就是我的尝试:

myvaluesJlist初始化为" a"," b"," c"," d"。

myvalues是一个字符串的ArrayLsit,包含值" a"," c"。

否则我不是要在myValues中显示要选择的值的Jlist。

当对话框打开时我想要     for(String s:myvalues){                         myvaluesJlist.setSelectedValue(s,true);                     } myvalues是我需要显示为选中的值列表,但在这种情况下,我只能看到" s"在最后一次迭代中被选中。

我试图找到一种方法来获取myvalues中存在的值的索引,但没有Luck.Please帮助

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

我认为这会做你想做的事情

int[] select = new int[myValues.length];
int index = 0;
for(int i = 0; i < myvalues.length; i++){
   if(/*condition for selection here*/)
      select[index++] = i;
}
list.setSelectedIndices(Arrays.copyOf(select, index));

请注意,如果myvaluesList,那么您可以将.length更改为.size()

无论如何,您需要使用setSelectedIndices来做您想做的事情。这里是doc:

的粘贴
  

将选择更改为给定指定的索引集   阵列。大于或等于模型大小的索引将被忽略。   这是一种方便的方法,可以清除选择然后使用   在选择模型上添加addSelectionInterval以添加索引。参考   到用于的选择模型类的文档   有关如何处理小于0的值的详细信息。

http://docs.oracle.com/javase/7/docs/api/javax/swing/JList.html#setSelectedIndices(int[])

答案 2 :(得分:0)

在这里找到答案: http://www.wenda.io/questions/471727/how-to-set-multiple-items-as-selected-in-jlist-using-setselectedvalue.html

它为我工作!无论如何,感谢大家!