簡體   English   中英

如何將 Gluon Charms 與 JavaFX 一起使用?

[英]How can I use Gluon Charms with JavaFX?

我是 Java 或 JavaFX 的新手,但我正在制作 JavaFX 桌面應用程序。 在 Intellij 中,我在 JavaFX 類別下創建了項目。 我正在使用 JDK-15。

https://i.stack.imgur.com/jFZK7.png

然后,使用 FXML,使用 scenebuilder 作為 FXML 文件的編輯器,我正在制作項目。 我已經在使用帶有 JavaFX 的 jfoenix 庫。 現在,我想在我的項目中實現gluon庫中的 CARDPANE 之類的功能。 我嘗試從依賴項中添加 gluon charms glisten - 4.4.1。

https://i.stack.imgur.com/MWzpR.png

我想剩下的就是在 RUN 配置中的 VM 選項中添加一些東西,我真的不知道在 VM 選項中添加什么。 當我嘗試運行項目時出現錯誤,我找不到任何解決方案。

我的 FXML 代碼:

<?xml version="1.0" encoding="UTF-8"?>

<?import com.gluonhq.charm.glisten.control.CardPane?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.layout.AnchorPane?>

<AnchorPane prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Practice.Practice_Controller">
   <children>
      <CardPane fx:id="cardPane" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.topAnchor="0.0">
         <items>
            <Button fx:id="addButton" mnemonicParsing="false" onAction="#handle" prefHeight="32.0" prefWidth="239.0" text="Button" />
         </items>
      </CardPane>
   </children>
</AnchorPane>

顯示的錯誤:

"C:\Program Files\Java\jdk-15.0.1\bin\java.exe" --module-path "C:\Program Files\Java\javafx-sdk-15.0.1\lib" --add-modules=javafx.base --add-modules=javafx.controls --add-modules=javafx.fxml --add-modules=javafx.graphics --add-modules=javafx.media --add-modules=javafx.swing --add-modules=javafx.web --add-opens javafx.base/com.sun.javafx.runtime=ALL-UNNAMED --add-opens javafx.controls/com.sun.javafx.scene.control.behavior=ALL-UNNAMED --add-opens javafx.controls/com.sun.javafx.scene.control=ALL-UNNAMED --add-opens javafx.base/com.sun.javafx.binding=ALL-UNNAMED --add-opens javafx.base/com.sun.javafx.event=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Ultimate Edition 2020.3\lib\idea_rt.jar=56278:C:\Program Files\JetBrains\IntelliJ IDEA Ultimate Edition 2020.3\bin" -Dfile.encoding=UTF-8 -classpath "E:\Documents\Arnob\Assignment\CSE 4402\JAVAFX\out\production\JAVAFX;C:\Program Files\Java\javafx-sdk-15.0.1\lib\src.zip;C:\Program Files\Java\javafx-sdk-15.0.1\lib\javafx-swt.jar;C:\Program Files\Java\javafx-sdk-15.0.1\lib\javafx.web.jar;C:\Program Files\Java\javafx-sdk-15.0.1\lib\javafx.base.jar;C:\Program Files\Java\javafx-sdk-15.0.1\lib\javafx.fxml.jar;C:\Program Files\Java\javafx-sdk-15.0.1\lib\javafx.media.jar;C:\Program Files\Java\javafx-sdk-15.0.1\lib\javafx.swing.jar;C:\Program Files\Java\javafx-sdk-15.0.1\lib\javafx.controls.jar;C:\Program Files\Java\javafx-sdk-15.0.1\lib\javafx.graphics.jar;E:\Documents\Arnob\Assignment\CSE 4402\JAVAFX\src\Lab06_1B\jfoenix-9.0.10.jar;E:\Documents\Arnob\Project\CSE 4402\MEDI-COLLAB\src\Resources\charm-glisten-4.4.1.jar" Practice.Main
Exception in Application start method
java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1071)
Caused by: java.lang.RuntimeException: Exception in Application start method
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
    at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.IllegalAccessError: class com.gluonhq.impl.charm.a.b.b.c.b (in unnamed module @0x28bbe400) cannot access class com.sun.javafx.collections.SourceAdapterChange (in module javafx.base) because module javafx.base does not export com.sun.javafx.collections to unnamed module @0x28bbe400
    at com.gluonhq.impl.charm.a.b.b.c.b.sourceChanged(SourceFile:106)
    at javafx.base/javafx.collections.transformation.TransformationList.lambda$getListener$0(TransformationList.java:106)
    at javafx.base/javafx.collections.WeakListChangeListener.onChanged(WeakListChangeListener.java:88)
    at javafx.base/com.sun.javafx.collections.ListListenerHelper$SingleChange.fireValueChangedEvent(ListListenerHelper.java:164)
    at javafx.base/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
    at javafx.base/javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:233)
    at javafx.base/javafx.collections.transformation.SortedList.sourceChanged(SortedList.java:114)
    at javafx.base/javafx.collections.transformation.TransformationList.lambda$getListener$0(TransformationList.java:106)
    at javafx.base/javafx.collections.WeakListChangeListener.onChanged(WeakListChangeListener.java:88)
    at javafx.base/com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:329)
    at javafx.base/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
    at javafx.base/javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:233)
    at javafx.base/javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
    at javafx.base/javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
    at javafx.base/javafx.collections.ObservableListBase.endChange(ObservableListBase.java:205)
    at javafx.base/javafx.collections.ModifiableObservableListBase.setAll(ModifiableObservableListBase.java:90)
    at javafx.base/javafx.beans.binding.ListExpression.setAll(ListExpression.java:378)
    at javafx.base/com.sun.javafx.binding.ContentBinding.bind(ContentBinding.java:53)
    at javafx.base/javafx.beans.binding.Bindings.bindContent(Bindings.java:1132)
    at com.gluonhq.impl.charm.a.b.b.g.<init>(SourceFile:41)
    at com.gluonhq.charm.glisten.control.CardPane.createDefaultSkin(SourceFile:95)
    at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:897)
    at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89)
    at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67)
    at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
    at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400)
    at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
    at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
    at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
    at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9544)
    at javafx.graphics/javafx.scene.Scene.doCSSPass(Scene.java:569)
    at javafx.graphics/javafx.scene.Scene.preferredSize(Scene.java:1747)
    at javafx.graphics/javafx.scene.Scene$2.preferredSize(Scene.java:393)
    at javafx.graphics/com.sun.javafx.scene.SceneHelper.preferredSize(SceneHelper.java:66)
    at javafx.graphics/javafx.stage.Window$12.invalidated(Window.java:1086)
    at javafx.base/javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
    at javafx.base/javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:145)
    at javafx.graphics/javafx.stage.Window.setShowing(Window.java:1174)
    at javafx.graphics/javafx.stage.Window.show(Window.java:1189)
    at javafx.graphics/javafx.stage.Stage.show(Stage.java:273)
    at Practice.Main.start(Main.java:32)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
    at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
    ... 1 more
Exception running application Practice.Main

Process finished with exit code 1

現在,我的問題是我應該在 VM 選項中添加一些東西嗎? 或者,我不能像這樣將膠子與 JavaFX 一起使用嗎? 或者,有什么方法可以使用膠子魅力工具運行 JavaFX 項目?

從這里下載 jar 文件: https://nexus.gluonhq.com/nexus/content/repositories/releases/com/gluonhq/charm-glisten/6.1.0/

並將其作為依賴項添加到您的項目中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM