如何使用 `JTextArea` 实例字段更改 `JTextArea` 的内容?

How to change `JTextArea` contents using `JTextArea` instance field?

我有一个对象 ReminderGUI,它有一个 JTextArea 字段。 ReminderGUI 表示可以保存和显示提醒的应用程序。单击 getReminderButton 时,我希望应用找到之前为此日期保存的提醒并将其显示在 JTextArea 中(我没有在代码片段中显示此功能)。

我在更改 JTextArea 文本时遇到问题,下面的代码对此进行了演示。单击 getReminderButton 后,getReminderButtonHandler() 应该会初始化一个新空白 JTextArea,然后将其附加到 some new text here。为什么这不起作用?

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class ReminderGUI extends JFrame implements ActionListener{

    private JButton getReminderButton;
    private JTextArea reminderTextArea;

    public ReminderGUI() {
        super();
        super.setLayout(new BorderLayout());
        this.reminderTextArea = new JTextArea("Enter text");
        this.getReminderButton = new JButton("Get reminder");

        JPanel southPanel = new JPanel();

        southPanel.add(getReminderButton, BorderLayout.SOUTH);

        super.add(southPanel, BorderLayout.SOUTH);
        super.add(reminderTextArea, BorderLayout.CENTER);

        this.getReminderButton.addActionListener(this);
    }

    public void actionPerformed(ActionEvent e) {
        if(e.getSource() == this.getReminderButton) {
            this.getReminderButtonHandler();
        }
    }

    private void getReminderButtonHandler() {
        this.reminderTextArea = new JTextArea("");
        this.reminderTextArea.append("some new text here");
    }

    public static void main(String[] args) {
        ReminderGUI rmg = new ReminderGUI();
        rmg.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        rmg.setSize(500, 300);
        rmg.setVisible(true);
    }
}

问题出在这一行:this.reminderTextArea = new JTextArea("Enter text");您正在创建一个新的 TextArea

您可以使用set方法设置它,像这样:reminderTextArea.setText(text);