无法构造javafx.application.Application实例

我正在尝试从Oracle网站[fxml教程](http://docs.oracle.com/javase/8/javafx/get-started-

tutorial/fxml_tutorial.htm)上的JavaFX教程。

package fxml;

import javafx.application.Application;

import javafx.fxml.FXMLLoader;

import javafx.scene.Parent;

import javafx.scene.Scene;

import javafx.stage.Stage;

class Main extends Application {

public Main() {}

@Override

public void start(Stage stage) throws Exception {

Parent root = FXMLLoader.load(getClass().getResource("welcome.fxml"));

Scene scene = new Scene(root);

stage.setTitle("FXML UI");

stage.setScene(scene);

stage.show();

}

public static void main(String args[]) {

launch(args);

}

}

这是我不断得到的例外。该应用程序未显示在屏幕上。我从另一个堆栈溢出答案中完成了非args Main()构造函数,但没有解决。

Exception in Application constructor

Exception in thread "main" java.lang.RuntimeException: Unable to construct Application instance: class fxml.Main

at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:884)

at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56)

at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158)

at java.lang.Thread.run(Thread.java:745)

Caused by: java.lang.IllegalAccessException: Class com.sun.javafx.application.LauncherImpl$7 can not access a member of class fxml.Main with modifiers "public"

at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:101)

at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(AccessibleObject.java:295)

at java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:287)

at java.lang.reflect.Constructor.newInstance(Constructor.java:398)

at com.sun.javafx.application.LauncherImpl$7.run(LauncherImpl.java:791)

at com.sun.javafx.application.PlatformImpl$7.run(PlatformImpl.java:335)

at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:301)

at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:298)

at java.security.AccessController.doPrivileged(Native Method)

at com.sun.javafx.application.PlatformImpl$6.run(PlatformImpl.java:298)

at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)

回答:

class Main extends Application缺少初始public关键字。

public Main() {}没有必要。

以上是 无法构造javafx.application.Application实例 的全部内容, 来源链接: utcz.com/qa/418591.html

回到顶部