我有一个具有JTextArea字段的对象ReminderGUI。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);
}
}发布于 2017-12-24 02:12:28
问题出在这一行:this.reminderTextArea = new JTextArea("Enter text");您正在创建一个新的TextArea
您可以使用set方法设置它,如下所示:reminderTextArea.setText(text);
https://stackoverflow.com/questions/47954801
复制相似问题