的Java:JList中只发现在可见光范围内
问题描述:
我有下面的代码执行按钮点击指数:的Java:JList中只发现在可见光范围内
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()
是我有一个方法,删除选定的项目。
这一切工作正常,但问题是,它只选择和删除单击按钮时可见的项目,而不是滚动窗格中的项目。当然,我可以再次点击按钮,并获得下一组项目,但是,我是一名程序员,我希望最简单的方式来完成我的任务。
UPDATE
我意识到,我被越来越LastVisibleIndex();
我的坏设置listAmount
。
我现在的问题:每次while
命令更新时如何检索listAmount
?
更新到更新
因为我不耐烦了,我倾向于这样做了很多,所以,我很抱歉。
我想出了如何解决我的问题。在while
循环内,我刚刚为listAmount
变量添加了+1,然后当它给我NullPointerException
时,我在while
块的周围添加了try
块。所以那个问题就解决了。
答
而不是使用getSelectedValue()
得到一个单一的选择,你可以删除while语句,并使用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();
在回答您的编辑:为了得到一个新的listAmount只是用同样的方法,你用得到它的第一次,但把它放在你的while循环? – sorifiend
问题在于,我不能把变量放在循环中,因为while循环**使用**那个变量。但我真的想出了如何去做。现在编辑问题... –
我相信你的答案可能只是帮助,但问题是:我需要逐个选择值,将它们分配给同一个字符串,以便我可以将它用于SQL查询。我感谢你尽力帮助! :D –