Как записать JTextArea текст в файл и прочитать входные данные в Java с помощью ArrayList? - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть класс с именем «Примечание» со строковыми полями: тема, заголовок и текст (без ограничений). У меня есть ArrayList с именем «notes» класса типа «Note». Я хочу заполнить строки с помощью пользовательского ввода JOptionPane и сохранить их в notes.В другом классе с именем «Java Frame», в котором я определил объект JTextArea , То, что я хочу сделать, это получить тему и заголовок от пользователя с помощью JOptionPane и текст в JTextArea (из-за ограничения чтения только строки с помощью JTextField), а затем записать ввод пользователя (с помощью fileInputStream) в текстовый файл и иметь возможность читать каждую заметку (для поиска или удаления). Может кто-нибудь, пожалуйста, помогите мне с этим? Я был бы очень благодарен. Я новичок в GUI, поэтому, пожалуйста, поделитесь своими ответами.

Вот что я написал до сих пор:

открытый класс JavaFrame расширяет Note, реализует ActionListener {

public class JavaFrame extends Note implements ActionListener {

    JTextArea textArea = new JTextArea();

    public void actionPerformed(ActionEvent e) {
        if (e.getSource.equals(newFile)) {
            this.subject = JOptionPane.showInputDialog("Enter The Note's Subject, Please: ");
            notes.add(this);

            this.title = JOptionPane.showInputDialog("Enter The Note's Title, Please: ");
            notes.add(this);

            this.date = getCurrentDateTime();
            notes.add(this);

            @SuppressWarnings("resource")
            Scanner in = new Scanner(new BufferedInputStream(System.in));
            String txt = "";
            String input;

            while (in.hasNextLine()) {
                input = in.nextLine();
                if (input.isEmpty()) {
                    break;
                }
                txt += input + "\n";
            }
            this.text = txt;
            for (Note n : notes) {
                textArea.append(n + "\n");
            }
        }
    }
}
...