簡體   English   中英

如何讓我的fxml和java類一起工作?

[英]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

這是一個示例控制器類:

https://github.com/SnakeDoc/superD/blob/master/src/com/vanomaly/superd/controller/MainWindowController.java

正如您將注意到的,在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.

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