我试图逐行将jList中的项放入ArrayList
这是我的理论,但输出不正确。输出只是
[Ljava.awt.Component; @ 7b066956
StringTokenizer comp = new StringTokenizer(lb_breakdown_components.toString(), ",");
if(comp.hasMoreTokens())//check for tokens
{
textfile.add(comp.nextToken());//adding the data as tokens
}
答案 0 :(得分:0)
ArrayList<String> test = new ArrayList<>(); // creates array list, although I preferLinkedLists
List list = jList.getSelectedValuesList(); // gets values from your jList and added it to a list
for(int i = 0; i<list.size(); i++) { // this for-loop adds the values of the list to the array list
test.add(list.get(i).toString());
}
for(String s : test) { // this enhanced for-loop proves that the code above works
System.out.println(s);
}
这应该做你想做的事情:)
记得导入:
import java.util.ArrayList;
import java.util.List;
答案 1 :(得分:0)
您可以从ListModel
获取JList
并循环显示值,填充ArrayList
。
像这样, lb_breakdown_componenents 是JList
和文本文件目标ArrayList
ListModel listModel = lb_breakdown_components.getModel();
for (int i=0; i<listModel.getSize();i++){
textfile.add(listModel.getElementAt(i).toString());
}
使用Java 7和泛型,如果模型包含字符串,您甚至可能不需要toString()
调用。