Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 显示JList中选择的多个项目_Java_Swing_Jlist - Fatal编程技术网

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

Java 显示JList中选择的多个项目,java,swing,jlist,Java,Swing,Jlist,我有一个JLIST,可以选择多个选项,我需要向用户显示多个选定项目: 这就是我所尝试的: MyValuesList是用A、b、c、d初始化的 myvalues是包含值a、c的字符串数组 现在我不是要在myValues中显示要选择的值的Jlist 当对话框打开时,我希望 forString s:MyValue{ MyValuesList.setSelectedValues,true; } 其中myvalues是我需要显示为选中的值的列表,但在本例中,我只能看到上一次迭代中的s被选中 我试图找到一种

我有一个JLIST,可以选择多个选项,我需要向用户显示多个选定项目:

这就是我所尝试的:

MyValuesList是用A、b、c、d初始化的

myvalues是包含值a、c的字符串数组

现在我不是要在myValues中显示要选择的值的Jlist

当对话框打开时,我希望 forString s:MyValue{ MyValuesList.setSelectedValues,true; } 其中myvalues是我需要显示为选中的值的列表,但在本例中,我只能看到上一次迭代中的s被选中


我试图找到一种方法来获取myvalues中存在的值的索引,但没有成功。请帮助我使用SetSelectedDictions,也许吧

我想这会满足你的要求

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));
请注意,如果myvalues是一个列表,则可以将.length更改为.size

在任何情况下,您都需要使用SetSelectedDices来做您想做的事情。下面是来自文档的粘贴:

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

在这里找到了答案:


这对我有用!谢谢大家

@user2176576这个答案对你有帮助吗?