将JList项逐行添加到字符串arraylist中

时间:2014-02-23 18:04:18

标签: java string arraylist jlist

我试图逐行将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
                }

2 个答案:

答案 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()调用。