我有一个对象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);