2013-05-05 42 views
1

我正在为我的班级,这是一个比萨订购窗体创建一个程序。我设置了代码,以便无论选择何种选择,都将其放入名为Getmetheorder的TextField中。我想将所有选中的选项都放入一个文本文件中,以便接收订单。JList选择字符串,并能够保存在文本文件

这就是我设置清单的方式,它解决了任何问题。

Object selected[] = toplist.getSelectedValues(); 
     String tops = ""; 
     // Use a for loop to obtain the names of the selected items 
     for (int k = 0;k < selected.length ; k++) 
     { 
      tops += selected[k] + ","; 
     } 
     Getmetheorder.setText(sizepicked + tops); 

String[] selectedItems = new String[selected.length]; 

for(int i=0; i<selected.length;i++){ 
selectedItems[i] = selected[i].toString(); 

我想使它这样,当用户选择了辣,辣椒和蘑菇例如,插入到该文本文件。

try { 
BufferedWriter out = new BufferedWriter(new FileWriter("YourPizzaOrder.txt")); 
out.write("Thank you for using the Online Pizza Ordering Program."); 
out.newLine(); 
out.write("Your order was created on"+" "+today); 
out.newLine(); 
out.write("*------------------------------------------------------*"); 
out.newLine(); 

out.write("a " + sizepicked + " With "+ //This is where i want the items from the Jlist to appear); 
out.close(); 
} 
catch (IOException e) 
{ 
    System.out.println("Exception "); 
} 

sizepicked变量来自小,中,大的按钮组选择。正在按计划工作并输出到文本文件。我对我如何让列表选择出现感到困惑。

+0

待办事项你希望每个项目在单独一行或全部在一行上? – MadProgrammer 2013-05-05 22:13:29

+0

所有在1行将是伟大的。 – user2352818 2013-05-05 22:18:09

+0

1)为了更快地获得更好的帮助,请发布[SSCCE](http://sscce.org/)。 2)对代码块使用一致的逻辑缩进。代码的缩进旨在帮助人们理解程序流程。 – 2013-05-06 13:54:38

回答

0

这是用于保存所选项目到一个文本文件:

List<Object> myList= list.getSelectedValuesList(); 
    try { 
     BufferedWriter buffer = new BufferedWriter(new FileWriter(new File("file.txt"),true)); 
     for(int i = 0 ; i<myList.size();i++){ 
      buffer.write(myList.get(i).toString()); 
      buffer.flush(); 
     } 
     buffer.close(); 

    } catch (IOException ex) { 
     //.... 
    } 

和显示你可以使用JTableJList所有选择的值,我宁愿JList很容易使用:

JList list2 = new JList(myList.toArray()); 
0

你可以做这样的事情......

StringBuilder sb = new StringBuilder(64); 
for (String value : selectedItems) { 
    if (sb.length() > 0) { 
     sb.append(", "); 
    } 
    sb.append(value); 
} 

out.write("a " + sizepicked + " With "+ sb.toString());