因此,我正在制作的程序使用2个线程:一个用于GUI,一个用于执行工作。添加文本到JTextArea(追加或设置文本)
我想从工作线程/类更新以在GUI类中的JTextArea上打印出来。 我试过的所有东西似乎都不起作用。我添加了行来在控制台上打印出文本,然后将文本添加到JTextArea中,以确保它已到达行,但每次控制台都获得文本但GUI中的JTextArea没有发生更改。
public static void consoleText(String consoleUpdate){
GUI.console.append(consoleUpdate);
}
我在工作班上试过这个,但没有发生任何事。 任何人都知道如何解决我的问题?
编辑:
MAIN.JAVA
public class main {
public static void main(String[] args) {
Thread t1 = new Thread(new GUI());
t1.start();
}
GUI.JAVA
public class GUI extends JFrame implements Runnable{
public static JTextArea console;
private final static String newline = "\n";
public void run(){
GUI go = new GUI();
go.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
go.setSize(350, 340);
go.setVisible(true);
}
public GUI(){
setLayout(new FlowLayout());
console = new JTextArea(ConsoleContents, 15, 30);
add(console);
}
WORK.JAVA
...{
consoleText("\nI want this text on the JText Area");
}
public static void consoleText(String consoleUpdate){
GUI.console.append(consoleUpdate);
}
不知道如何任何人都可以帮助你,更快地发布[SSCCE](http://sscce.org/),简短,可运行,可编译,仅关于'JTextArea#append(“String” )' – mKorbel
欢迎在这个论坛上,请[请参阅常见问题](http://stackoverflow.com/faq) – mKorbel
好吧我会尝试截断它足以发布 – Emm