Java Append()不';在JTextArea元素上不工作

Java Append()不';在JTextArea元素上不工作,java,swing,append,jtextarea,Java,Swing,Append,Jtextarea,我想创建图形控制台,它将为用户提供有关程序当前状态的信息。我计划使用JTextArea,但append()方法有问题。即使在主类中使用了它,我仍然有空的JTextArea。我做错了什么 以下是控制台gui的代码: package com.meh; import javax.swing.*; public class Controller extends JFrame { public JPanel ControlPanel; public JTextArea Log;

我想创建图形控制台,它将为用户提供有关程序当前状态的信息。我计划使用JTextArea,但append()方法有问题。即使在主类中使用了它,我仍然有空的JTextArea。我做错了什么

以下是控制台gui的代码:

package com.meh;

import javax.swing.*;

public class Controller extends JFrame {
    public JPanel ControlPanel;
    public JTextArea Log;

    static void setView() {
        JFrame frame = new JFrame("Controller");
        frame.setContentPane(new Controller().ControlPanel);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    }
}
这是主类的代码:

package com.meh;

public class Main {
    public static void main(String[] args) {
    Controller controller = new Controller();
        controller.setView();
        controller.Log.append("Hello");
    }
}

如果查找
jTextArea
append方法,您将看到:

Appends the given text to the end of the document
但是,如果
字符串
为空或
null
,则它不会执行任何操作


您可以在本例中使用
setText()

如果调用
getText()
是否返回新字符串值?如果是这样,您可能需要在更改文本后调用和/或
控制器和/或
控制器.Log

如我所见,您从未初始化“控制面板”,它将始终为空,因此您无法对其执行任何操作。

Hmmm。。。我已将append()更改为setText(),但仍然存在相同的问题。我正在使用手机,但看起来您可能没有将文本区域添加到JFrame,或者可能没有初始化jTextAreaLog=new jTextArea();帧。添加(日志);