【问题标题】:Program that loads a list from .txt file, saves it back从 .txt 文件加载列表并将其保存回来的程序
【发布时间】:2023-03-18 08:15:01
【问题描述】:

所以基本上我有这段代码构成了一个简单的 JFrame 程序,它将值(花名,LOL)存储到一个列表中并显示该列表。但我只是不知道如何使它将列表保存到 .txt 文件并在启动时加载它。这可能是一个没有脑子的,但我就是不明白,不知道从哪里开始

public class Flower extends JFrame implements ActionListener{

private List<String> flowerNames = new ArrayList<String>();


private JTextArea output;
private JTextField input;

public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run(){
            new Flower().setVisible(true);
        }
    });

}


public Flower() {
    setTitle("Flowers");
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setLayout(new GridLayout(1,2));
    JPanel right = new JPanel(new GridLayout(2,1));
    JPanel row = new JPanel();
    row.add(new JLabel("Flower: "));
    row.add(input = new JTextField(25));
    right.add(row);
    row = new JPanel();
    row.add(new JPanel(new FlowLayout()));
    JButton button = new JButton("Add");
    row.add(button);
    right.add(row);
    button.addActionListener(this);
    getContentPane().add(right);
    getContentPane().add(new JScrollPane(output = new JTextArea()));
    pack();
}

@Override
public void actionPerformed(ActionEvent arg0) {

    if (input.getText().length() > 0){
        try {
            flowerNames.add(input.getText());
        } catch (Exception e){
            JOptionPane.showMessageDialog(
                    this, 
                    "Wrong input!", 
                    "Check the input", 
                    JOptionPane.PLAIN_MESSAGE);

        }
        finally {
            Collections.sort(flowerNames);
            StringBuilder sb = new StringBuilder();
            for (String input : flowerNames){
                sb.append(input.toString() + "\n");
            }

            output.setText(sb.toString());
        }
    }
}
}

【问题讨论】:

    标签: java list export-to-text


    【解决方案1】:

    您可能应该从 1)加载文件以填充 Flower 类的构造函数中的字符串列表花 2)然后在关闭操作上添加一个动作侦听器,而不是在关闭时默认退出,以便将列表另存为文件 3)最后你应该确保文件存在然后创建。

    【讨论】:

      猜你喜欢
      • 2017-10-20
      • 1970-01-01
      • 1970-01-01
      • 2020-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多