[英]How do I get my fxml and java classes to work together?
這是一個類項目,我們需要在fxml doc上設置GUI。 我已經在fxml上設置了布局但是我不知道如何讓按鈕打印出語句或調用不同java類中的方法。 我嘗試在線搜索,但並不是真的理解它。 有人能告訴我如何讓GUI不僅僅是一個按鈕並讓它執行像mathamatical方法這樣的事情?
謝謝
以下是FXML的示例:
https://github.com/SnakeDoc/superD/blob/master/src/com/vanomaly/superd/view/MainWindow.fxml
這是一個示例控制器類:
正如您將注意到的,在FXML中您可以指定一個控制器。 或者,就像在這個例子中:
https://github.com/SnakeDoc/superD/blob/master/src/com/vanomaly/superd/Main.java
您可以在JavaFX應用程序啟動期間使用Java代碼指定控制器。
哪個都沒關系,但兩個都沒關系(你會得到一個錯誤)。
然后,在您的控制器中,您可以使用@FXML
批注將該變量鏈接到FXML中具有相同 fx:id
作為變量名稱的正確GUI控件(請再次參見示例)。
然后你可以像任何其他GUI控件一樣使用該變量。 :)
例:
@FXML private Label targetLabel;
在控制器中定義。
在FXML中,有:
<Label fx:id="targetLabel" layoutX="26.0" layoutY="16.0" styleClass="contrast-label" text="Target(s) :" />
注意fx:id
是如何與變量名相同的? 這告訴JavaFX鏈接它們(它們是相同的)。
如果您希望fxml按鈕使用其他類的方法,則需要通過使用fx:controller聲明的控制器執行此操作。 在您的控制器中,創建方法並將您需要的任何類導入控制器類。 fxml中的按鈕將知道控制器類,但需要知道單擊時要調用的方法。 在fxml部分中使用onAction提供方法。
我建議在這里查看 oracle javafx教程的“添加按鈕和文本”部分
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.