JavaFX应用程序类必须扩展javafx.application.Application->即使存在main方法,也遇到此错误

时间:2018-10-12 12:12:46

标签: java

JavaFX应用程序类必须扩展javafx.application.Application->即使存在主要方法,也要获取此错误。

请参考我的示例代码:

getFlatNavigation(navigation) {
  if (this.navigation.length == 0) {
    this.GetNavigationData()
      .subscribe(res => {
        console.log(res);
        console.log('Regular method');
      })
  }
}

GetNavigationData() {
  let applicationMenuData = new InitializeAppRequest();
  return this.http.post(this.appGlobal.BASE_SERVER_ADDRESS + 'api/AppServer/InitializeApp', applicationMenuData)
  .pipe(
    map(res => {
      console.log('API method');
      return res['AplicationMenuData'];
    })
  );
}

}

4 个答案:

答案 0 :(得分:1)

也许您的IDE项目被错误地设置为“ JavaFx应用程序”。 大多数IDE将普通的Java项目类型称为“空项目”或“ Java项目”。

答案 1 :(得分:1)

是的,普通的Java应用程序有一个主类,其入口为public static void main(String[] args)

但是,您创建了JavaFX项目,根据定义,该项目将其应用程序代码放入特定JavaFX的Application类中,您的主类必须对其进行扩展。 IDE尝试启动JavaFX应用程序。

如果要使用JavaFX GUI应用程序,请学习教程。

否则,请创建一个普通的Java应用程序项目。 (这里似乎是这种情况。)

答案 2 :(得分:0)

这似乎不是Javafx问题。 为两个类分别创建名称分别为Overloading1.java和Overloading2.java的文件:

Overloading1.java:

class Overloading1 {
    public void disp(char c) {
        System.out.println(c);
    }

    public void disp(char c, int num) {
        System.out.println(c + " " + num);
    }

}

和Overloading2.java:

class Overloading2 extends Overloading1 {

    public static void main(String args[]) {
        Overloading2 obj = new Overloading2();
        obj.disp('a');
        obj.disp('a', 10);
    }
}

并尝试再次运行Overloading2.java。如果仍然遇到问题,请检查启动器或环境设置。

答案 3 :(得分:0)

确保项目构建成功。如果您使用的是 Eclipse,请检查“标记选项卡”是否有任何错误并修复。