创建标签时的JavaFX 11:IllegalAccessError
这个问题可能是同一个问题的这一个,但现在看来,一个的提问者还没有添加足够的信息来获得一个有用的响应。
我正在尝试使用JDK和JavaFx SDK版本11.0.2运行JavaFx应用程序。
此代码完全按预期工作,从而产生一个空窗口:
import javafx.application.Application;import javafx.scene.Scene;import javafx.scene.layout.StackPane;import javafx.stage.Stage;public class Main extends Application { public void start(Stage primaryStage) throws Exception { StackPane root = new StackPane(); primaryStage.setScene(new Scene(root, 420, 420)); primaryStage.show(); } public static void main(String[] args) { launch(args); }}
但是,如果我尝试向添加标签StackPane
,则会引发异常。
import ...import javafx.scene.control.Label;public class Main extends Application { public void start(Stage primaryStage) throws Exception { StackPane root = new StackPane(); root.getChildren().add(new Label("42")); primaryStage.setScene(new Scene(root, 420, 420)); primaryStage.show(); } public static void main(String[] args) { launch(args); }}
它产生的堆栈跟踪如下所示(Main中的第13行是创建Label的位置):
我正在Kubuntu上运行IntelliJ Idea的最新版本。我从官方网站下载了Oracle JDK和JavaFX
我放在javafx-sdk-11.0.2
目录中/usr/lib/jvm/
,jdk-11.0.2
并且在同一目录中。
我相信在IntelliJ Idea中,我已经正确选择了JDK,并且已将其添加/usr/lib/jvm/javafx-sdk-11.0.2/lib
为库。
IntelliJ Idea正在使用此命令来启动应用程序(为提高可读性而拆分):
我尚未修改任何VM选项。
如何解决此错误?这是JavaFx中的错误吗?
相关分类