2013-05-05 81 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());