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'];
})
);
}
}
答案 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,请检查“标记选项卡”是否有任何错误并修复。