Как я могу сохранить информацию, введенную в каждое текстовое поле, чтобы после закрытия приложения оно помнило, когда я в следующий раз открываю приложение, при вводе в текстовое поле оно помнит, что было помещено туда раньше?
Я знаю об акте создания текстового файла, а затем в следующий раз, когда он открывается, он читает этот файл. я не уверен, что это решение для этого, но если это так, я не знаю, как бы я это сделал. Код ниже:
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BoxLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
public class RecipeFinder {
public static void main(String[] args) {
//JFrame
JFrame frame = new JFrame("The Recipe Finder");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setPreferredSize(new Dimension(500,400));
//JPanel
JPanel entry = new JPanel();
entry.setLayout(new BoxLayout(entry, BoxLayout.Y_AXIS));
//JLabel
JLabel insert = new JLabel("Insert Food/Ingredients");
entry.add(insert);
//JTextField(s)
JTextField foodOne = new JTextField();
foodOne.setPreferredSize(new Dimension(200,24));
entry.add(foodOne);
JTextField foodTwo = new JTextField();
foodTwo.setPreferredSize(new Dimension(200,24));
entry.add(foodTwo);
//JButton(s)
JButton addTextBox = new JButton("Add");
addTextBox.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JTextField newBox = new JTextField();
newBox.setPreferredSize(new Dimension(200,24));
entry.add(newBox);
entry.revalidate();
frame.invalidate();
}
});
JButton search = new JButton("Search Recipes");
JPanel buttonPanel = new JPanel();
buttonPanel.add(addTextBox);
buttonPanel.add(search);
JPanel rootPanel = new JPanel();
rootPanel.setLayout(new BorderLayout());
rootPanel.add(entry, BorderLayout.CENTER);
rootPanel.add(buttonPanel, BorderLayout.SOUTH);
JScrollPane rootEntry = new JScrollPane(rootPanel);
rootEntry.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
rootEntry.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
//FrameWork
frame.add(rootEntry);
frame.pack();
frame.setVisible(true);
}
}




Самый простой способ сделать это - сериализация Java. Вам нужен класс держателя, реализующий сериализуемый интерфейс. Это может быть pojo со строковыми полями или List для любого количества строк. Затем вы заполняете этот объект данными из текстовых полей. Заполненный объект можно сохранять и восстанавливать на/с диска, как описано здесь Как писать и читать сериализованные объекты Java в файл