繁体   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