有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用Swingworker给出不正确的结果

我的项目遵循以下流程: enter image description here

我想用swingworker。这是我使用它的方式,但结果并不正确

在我的GUI代码中,我的代码是用于执行主体类的

我已经用buttons代码编写了以下代码行

     Main f2 = new Main();

    f2.execute();

在我的校长班上,我已经做到了这一点

      class Principalclass extends SwingWorker<Void, Void>
          {
            @Override
            public Void doInBackground() throws IOException 
             {
               //while loop
              }
           @Override
            public void done() {
              System.out.println("I am DONE");
              GUI b = new GUI();   
              b.ShowFrame();   //calls the function of the GUI to display frame
             }

现在,这段代码没有打印“我完成了”显示GUI框架。如果我在使用swingworker时必须在2、3和4 bcz类中做一些更改,或者必须只在Principalclass中做进一步的更改,我会感到困惑。其次,这个应用程序需要15分钟才能完成任务,只需要2秒:(。可能是因为我第一次使用swing worker,所以我做错了什么


共 (1) 个答案

  1. # 1 楼答案

    您应该执行swing worker并从EDT执行。有关更多信息,请查看here