簡體   English   中英

JList選擇為String並能夠保存在文本文件中

[英]JList selection to String and be able to save in a text file

我正在為我的課程創建一個比薩訂購表程序。 我已經設置了代碼,以便無論選擇什么,都將其放置在名為Getmetheorder的TextField中。 我想將所有選擇的內容都放入一個文本文件中,該文件將是訂單的收據。

這是我設置列表的方式,目前沒有任何問題。

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 ");
}

大小選擇的變量來自小,中和大按鈕組。 這正在工作,並按計划輸出到文本文件。 我對如何顯示列表選擇感到有些困惑。

這是用於將所選項目保存到文本文件中:

  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());

你可以做...

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());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM