Java 在JTextArea中更改文本

Java 在JTextArea中更改文本,java,arrays,swing,Java,Arrays,Swing,每当运行以下PRINT()方法时,我都试图更改JTextArea中的文本。整个程序很长,所以我只能发布一点,但基本上一个[50][50]字符数组包含的内容被转换成50行50个字符串。当按下一个按钮时,持有这个JTextArea的JFrame就会启动,并立即将char数组打印到JTextArea中(当我这样做时,char数组永远不会更新)。程序打算每隔几秒钟更新此文本 但是,在上次运行PRINT()之前,JFrame基本上是一个空白框,而不是每秒更新一次。目前,它是指在output.outputL

每当运行以下PRINT()方法时,我都试图更改JTextArea中的文本。整个程序很长,所以我只能发布一点,但基本上一个[50][50]字符数组包含的内容被转换成50行50个字符串。当按下一个按钮时,持有这个JTextArea的JFrame就会启动,并立即将char数组打印到JTextArea中(当我这样做时,char数组永远不会更新)。程序打算每隔几秒钟更新此文本

但是,在上次运行PRINT()之前,JFrame基本上是一个空白框,而不是每秒更新一次。目前,它是指在output.outputLines用添加的数字更新后,通过10次对print()的调用,在单独的行中打印1…10。相反,它只显示一个空白帧,直到加载最后一个数字,然后打印整个内容

PRINT()方法:


有人能帮我找出哪里出了问题吗?

您正在Swing事件线程上调用
Thread.sleep(…)
,本质上就是让它和您的GUI进入睡眠状态。解决办法(一如既往)是不要这样做。如果要暂停,请使用。如果需要运行长时间运行的代码,请使用后台线程,例如在Swing事件线程上调用
thread.sleep(…)
,实质上是将其和GUI置于睡眠状态。解决办法(一如既往)是不要这样做。如果要暂停,请使用。如果需要运行长时间运行的代码,请使用后台线程,例如。

我可以看到这是哪一个问题的精确副本吗?我可以看到这是哪一个问题的精确副本吗?谢谢,我将尝试此问题并查看另一个问题。谢谢,我将尝试此问题并查看另一个问题。
public boolean PRINT(){   

    String result = ""; //Used to hold the characters to be printed to the screen
    for(int x = 0; x<50; x++){
       for(int y = 0; y<50; y++) {
           result = result + String.valueOf(output.outputLines[x][y]); 
       }//End of inner FOR statement

       result = result + "\n";
       output.jTextArea1.setText(result);           
    }//End of outer FOR statement

    return true;
} 
try {
    java.lang.Thread.sleep(1000);
catch (Exception ex) {
    System.out.println("Exception in Thread.sleep()");