ReminderGUI
에는 JTextArea
필드가있는 개체가 있습니다. ReminderGUI
은 미리 알림을 저장하고 표시 할 수있는 앱을 나타냅니다. getReminderButton
을 클릭하면 앱이 해당 날짜에 대해 이전에 저장 한 알림을 찾아서 JTextArea
에 표시하기를 원합니다 (코드 스 니펫에이 기능이 표시되지 않음).`JTextArea` 인스턴스 필드를 사용하여`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);
}
}
@Nehorai을 내 방법이 틀렸어? – Yos
메소드에 *** *** 새 JTextArea를 만들고 있는데 왜 작동해야합니까? 이 새로운 JTextArea의 텍스트를 설정하면 왜 JTextArea의 텍스트가 마술처럼 바뀔 것이라고 생각합니까? 이것은 자바 객체가 어떻게 작동하는지에 대한 기본적인 오해를 제안합니다. –
@HovercraftFullOfEels하지만 기존 필드를 설정하고 있습니다. 어떤 종류의'repaint()'메소드를 사용해야합니까? – Yos