如何使用 `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);
我有一个对象 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);