Java SwingWorker导致子类中出现错误

Java SwingWorker导致子类中出现错误,java,netbeans,swingworker,Java,Netbeans,Swingworker,我有一个类(称之为main类),main类中的方法调用其他类的方法 public class Evaluate extends Main class Main extends SwingWorker<Void, Void>{ public Main(GUI frame) { p = frame; } //some more code 在我的主类中,我使用swingworker,因此我编写了

我有一个类(称之为main类),main类中的方法调用其他类的方法

      public class Evaluate extends Main
      class Main extends SwingWorker<Void, Void>{
        public Main(GUI frame) {
        p = frame;

        }
        //some more code 
在我的主类中,我使用swingworker,因此我编写了如下代码

      public class Evaluate extends Main
      class Main extends SwingWorker<Void, Void>{
        public Main(GUI frame) {
        p = frame;

        }
        //some more code 

这里的GUI包含我的应用程序启动的主方法。请帮助我为什么会发生此错误。

扩展类时,应该在自己的构造函数中调用主类的构造函数(使用
super
)。因此在本例中,您的
Evaluate
类应该如下所示

public class Evaluate extends Main {

  public Evaluate( GUI frame ){
    super( frame );
  }
  // or another constructor
  public Evaluate( ){
    super( retrieveAFrameFromSomeWhere );
  }
  public Evaluate( loads of other arguments, GUI frame ){
    super( frame );
    //do something with the other arguments
  }
}

查看“优秀”以了解更多信息,当然,关于子类构造函数的部分

不要在
背景任务
中创建
GUI/GUI元素
SwingWorker
是关于
获取/放置/修改
数据
从/到
之前存在的
对象