我在按钮点击时执行以下代码:
while(count<listAmount){
tbiCList.setSelectedIndex(0);
String item = JList.getSelectedValue();
String update[] = item.split(", ");
//this part removed for sake of post
remove(item);
count++;
}
注意:
count
从0开始,listAmount
是JList
中的项目数量,remove()
是我删除所选项目的方法。
这一切都很好用,但问题是,它只选择并删除单击按钮时可见的项目,而不是经过滚动窗格的项目。当然,我可以再次单击该按钮,然后获取下一组项目,但是,我是程序员,我想要最简单的方式来完成我的任务。
更新
我意识到我通过获取listAmount
LastVisibleIndex();
我的坏。
我现在的问题:每次listAmount
命令更新时如何检索while
?
更新到更新
因为我很不耐烦,所以我倾向于这么做,所以,我道歉。
我想出了如何解决我的问题。在while
循环中我刚刚向listAmount
变量添加了+1,然后当它给我NullPointerException
时,我在try
块周围添加了while
块。就这样,问题得到解决。
答案 0 :(得分:1)
您可以删除while语句,而不是使用getSelectedValue()
来获取单个选择,而是使用getSelectedValuesList()
来选择多个项目,然后遍历这些项目。
不要忘记检查JavaDoc的其他选项。
编辑评论:
List<String> selectedItems = myJList.getSelectedValuesList();
for (int i = 0; i < selectedItems.size(); i++){
String item = selectedItems.get(i);
String update[] = item.split(", ");
//this part removed for sake of post
//....
}
myJList.removeAll();