亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何修復應用程序構造函數中的異常

如何修復應用程序構造函數中的異常

哆啦的時光機 2023-04-13 16:47:25
我是 Javafx 的新手,我剛剛下載了 JDK 12 并遵循了教程,它有效但對我不起作用,(我正在使用模塊來要求 javafx.controls)這里是代碼:在我的主類中:我在 SOFlow 中嘗試了很多解決方案但沒有結果,我嘗試了:1)將 public 關鍵字添加到我的類中 2)刪除了主要方法仍然不起作用幫助?package com.teachersdunet.hellojavafx;import javafx.application.Application;import javafx.stage.Stage;public class HelloApp extends Application {      public static void main(String[] args) {            Application.launch(args);        }    @Override    public void start(Stage primaryStage) throws Exception {    }}這是執行后的錯誤:Exception in Application constructorException in thread "main" java.lang.reflect.InvocationTargetException    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)    at java.base/java.lang.reflect.Method.invoke(Method.java:567)    at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)Caused by: java.lang.RuntimeException: Unable to construct Application instance: class com.teachersdunet.hellojavafx.HelloApp    at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:890)    at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)    at java.base/java.lang.Thread.run(Thread.java:835)Caused by: java.lang.IllegalAccessException: class com.sun.javafx.application.LauncherImpl (in module javafx.graphics) cannot access class com.teachersdunet.hellojavafx.HelloApp (in module com.teachersdunet.hellojavafx) because module com.teachersdunet.hellojavafx does not export com.teachersdunet.hellojavafx to module javafx.graphics    ... 1 more
查看完整描述

2 回答

?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

解決方案幾乎在堆棧跟蹤中提到;問題縮小到它告訴您缺少的導出的程度:


...

Caused by: java.lang.IllegalAccessException: class com.sun.javafx.application.LauncherImpl (in module javafx.graphics) cannot access class com.teachersdunet.hellojavafx.HelloApp (in module com.teachersdunet.hellojavafx) because module com.teachersdunet.hellojavafx does not export com.teachersdunet.hellojavafx to module javafx.graphics

...

將以下行添加到com.teachersdunet.hellojavafx模塊中:


module com.teachersdunet.hellojavafx {

    ...

    exports com.teachersdunet.hellojavafx;

}

或者只授予對單個模塊的訪問權限:


module com.teachersdunet.hellojavafx {

    ...

    exports com.teachersdunet.hellojavafx to javafx.graphics;

}


查看完整回答
反對 回復 2023-04-13
?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

你會收到這樣的錯誤,因為你沒有在 start 方法中調用任何東西。您必須設置Scene并提供FXML文件的目錄。


我已經更正了你的代碼。


package com.teachersdunet.hellojavafx;


import javafx.application.Application;

import javafx.stage.Stage;


public class HelloApp extends Application {


    @Override

    public void start(Stage primaryStage) throws Exception {

       try {

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

            Scene scene = new Scene(root);

            primaryStage.setScene(scene);

            primaryStage.show();

       } catch(Exception e) {

            e.printStackTrace();

       } 

   }


   public static void main(String[] args) {

                launch(args);

   }

}

我希望這有幫助。


查看完整回答
反對 回復 2023-04-13
  • 2 回答
  • 0 關注
  • 229 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號