[英]JavaFX adding FXML to and plain java controllers
我的第一篇文章,請保持溫柔。
我正在為一個簡單的游戲制作JavaFX GUI。 我在這里通過FXML文件加載器加載了FXML布局:
Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
然后在Main.java中創建一個按鈕:
Button button = new Button("Jp", view);
並且為了顯示:
primaryStage.setScene(new Scene(root));
primaryStage.show();
問:到底我怎樣才能將FXML布局和純Java Button對象結合在同一場景上? 難道像蘋果和橘子一樣,不可能結合在一起嗎? 我的IDE不允許我調用從Java文檔推薦的方法:
root.getChildren().add();
等等...
請幫助我和/或為我指明方向,我確實嘗試過...
Parent
定義的getChildren()
方法是一個protected
方法:因此,您不能從Main
類訪問它,這就是為什么您的代碼無法編譯的原因。
Pane
重寫此方法並將其public
,因此,假設FXML文件的根元素是Pane
(或Pane
子類),則只需更詳細地說明根的類型。 換句話說,再次假設您的FXML符合我的預期,
Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
至
Pane root = FXMLLoader.load(getClass().getResource("sample.fxml"));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.