[英]How to add onclick listener on CardPane items (Gluon with JavaFX)
[英]Why is Gluon control CardPane not found when mvn gluonfx:nativerun?
這是 FXML 文件:
<?import com.gluonhq.charm.glisten.control.CardPane?>
<?import com.gluonhq.charm.glisten.mvc.View?>
<?import javafx.scene.layout.BorderPane?>
<View fx:id="myView" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="335.0" xmlns="http://javafx.com/javafx/16" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.mydomain.view.MyPresenter">
<center>
<BorderPane prefHeight="591.0" prefWidth="322.0" BorderPane.alignment="CENTER">
<center>
<CardPane fx:id="cardPane" prefHeight="465.0" prefWidth="333.0" />
</center>
</BorderPane>
</center>
</View>
如果我mvn gluonfx:run
那么它工作正常。 我看到了 CardPane。 我可以添加卡片。 我看到它按預期更新了它的卡片列表。
但是如果我然后嘗試mvn gluonfx:nativerun
我失敗了ClassNotFoundException: com.gluonhq.charm.glisten.control.CardPane
這是命令行調用堆棧的摘錄:
Caused by: javafx.fxml.LoadException:
[Wed Jul 21 09:59:25 MST 2021][INFO] [SUB] com/mydomain/view/myView.fxml
[Wed Jul 21 09:59:25 MST 2021][INFO] [SUB]
[Wed Jul 21 09:59:25 MST 2021][INFO] [SUB] at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2707)
[Wed Jul 21 09:59:25 MST 2021][INFO] [SUB] at javafx.fxml.FXMLLoader.importClass(FXMLLoader.java:2949)
[Wed Jul 21 09:59:25 MST 2021][INFO] [SUB] at javafx.fxml.FXMLLoader.processImport(FXMLLoader.java:2793)
[Wed Jul 21 09:59:25 MST 2021][INFO] [SUB] at javafx.fxml.FXMLLoader.processProcessingInstruction(FXMLLoader.java:2758)
[Wed Jul 21 09:59:25 MST 2021][INFO] [SUB] at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2624)
[Wed Jul 21 09:59:25 MST 2021][INFO] [SUB] at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
[Wed Jul 21 09:59:25 MST 2021][INFO] [SUB] at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2516)
[Wed Jul 21 09:59:25 MST 2021][INFO] [SUB] at com.airhacks.afterburner.views.FXMLView.loadSynchronously(FXMLView.java:91)
[Wed Jul 21 09:59:25 MST 2021][INFO] [SUB] ... 21 more
[Wed Jul 21 09:59:25 MST 2021][INFO] [SUB] Caused by: java.lang.ClassNotFoundException: com.gluonhq.charm.glisten.control.CardPane
[Wed Jul 21 09:59:25 MST 2021][INFO] [SUB] at com.oracle.svm.core.hub.ClassForNameSupport.forName(ClassForNameSupport.java:71)
[Wed Jul 21 09:59:25 MST 2021][INFO] [SUB] at java.lang.ClassLoader.loadClass(ClassLoader.java:212)
[Wed Jul 21 09:59:25 MST 2021][INFO] [SUB] at javafx.fxml.FXMLLoader.loadTypeForPackage(FXMLLoader.java:3017)
[Wed Jul 21 09:59:25 MST 2021][INFO] [SUB] at javafx.fxml.FXMLLoader.loadType(FXMLLoader.java:3006)
[Wed Jul 21 09:59:25 MST 2021][INFO] [SUB] at javafx.fxml.FXMLLoader.importClass(FXMLLoader.java:2947)
感謝@JoséPereda 為我推薦下一步去哪里尋找。 一路上出現了新問題,但我最終讓應用程序在本機運行模式下運行。
然而,我隨后意識到我的菜鳥錯誤。 我忘了繼續回到項目 pom 文件來更新 gluon 插件的反射列表。 因此,我取消了底層配置文件的混亂修復,然后按如下方式進行了更新。 我根據我看到的堆棧跟蹤反饋向您展示了我需要提及的平台小部件。 我還列出了我自己的課程,但也不要在這里展示這些課程。
<artifactId>gluonfx-maven-plugin</artifactId>
<version>${gluonfx.plugin.version}</version>
<configuration>
<reflectionList>
<list>javafx.scene.control.DatePicker</list>
<list>com.gluonhq.charm.glisten.control.CardPane</list>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.