我將 Intellij 與 javafx 12 一起使用,作為一個(gè)單獨(dú)的庫。我設(shè)法讓它發(fā)揮作用。我做了一個(gè)游戲,圖形效果很棒。現(xiàn)在我想創(chuàng)建一個(gè)帶有一些按鈕的菜單。當(dāng)我嘗試將按鈕添加到場景的根目錄時(shí),它會引發(fā)異常,但有以下異常:Exception in thread "JavaFX Application Thread" java.lang.IllegalAccessError: superclass access check failed: class com.sun.javafx.scene.control.ControlHelper (in unnamed module @0x77b376ef) cannot access class com.sun.javafx.scene.layout.RegionHelper (in module javafx.graphics) because module javafx.graphics does not export com.sun.javafx.scene.layout to unnamed module @0x77b376ef我用谷歌搜索并找到了一些關(guān)于堆棧溢出的解決方案,但這些解決方案對我不起作用。我的命令行參數(shù)如下(基于這些解決方案):--module-path "C:\Program Files\Java\javafx-sdk-11.0.2\lib" \
--add-modules=javafx.swing,javafx.graphics,javafx.fxml,javafx.media,javafx.web,javafx.scene,javafx.controls \
-p "C:\Program Files\Java\javafx-sdk-11.0.2\lib\javafx.base.jar" : \ "C:\Program Files\Java\javafx-sdk-11.0.2\lib\javafx.graphics.jar" \
--add-exports javafx.graphics=ALL-UNNAMED \
--add-exports javafx.controls/com.sun.javafx.charts=ALL-UNNAMED \
--add-exports javafx.graphics/com.sun.javafx.iio=ALL-UNNAMED \
--add-exports javafx.graphics/com.sun.javafx.iio.common=ALL-UNNAMED \
--add-exports javafx.graphics/com.sun.javafx.css=ALL-UNNAMED \
--add-exports javafx.base/com.sun.javafx.runtime=ALL-UNNAMED \
--add-exports javafx.controls/com.sun.javafx.scene.control=ALL-UNNAMED \
--add-exports javafx.graphics/com.sun.javafx.scene.layout=ALL-UNNAMED謝謝!
1 回答

楊魅力
TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊
答案就在你的命令行中:
--module-path?"C:\Program?Files\Java\javafx-sdk-11.0.2\lib"?\ ... -p?"C:\Program?Files\Java\javafx-sdk-11.0.2\lib\javafx.base.jar"?:?\ ???"C:\Program?Files\Java\javafx-sdk-11.0.2\lib\javafx.graphics.jar"??\
這意味著您添加了兩次,但只有最后一次有效。因此只有javafx-base
和javafx-graphics
被添加到模塊路徑中,因此javafx-controls
不是。這解釋了異常(與 相關(guān)),以及您不必要地添加了所有這些 的com.sun.javafx.scene.control.ControlHelper
事實(shí)。--add-exports
您可能不會使用 Swing、Media 或 Web,因此這個(gè)命令行就足夠了:
--module-path?"C:\Program?Files\Java\javafx-sdk-11.0.2\lib"?\ --add-modules?javafx.fxml,javafx.controls
這些 VM 選項(xiàng)可以在您的 IDE 中設(shè)置。
添加回答
舉報(bào)
0/150
提交
取消