我想知道是否有一個簡單的方法來克隆元素在FXML
(如文本框)來顯示它們多次。javafx:fxml:顯示元素兩次
以下情況:
我有一個TabView
並希望顯示在第一個選項卡元素X
,在第二個選項卡元素Y
在第三個選項卡我想顯示X
和Y
。
Dublicating相同fx:id
不允許(Netbeans的說),並在不同的.fxml
文件出口X
和Y
,使我只是包括了他們兩次,無論是作品。那是另一個問題。
你會如何解決這個問題?
我想知道是否有一個簡單的方法來克隆元素在FXML
(如文本框)來顯示它們多次。javafx:fxml:顯示元素兩次
以下情況:
我有一個TabView
並希望顯示在第一個選項卡元素X
,在第二個選項卡元素Y
在第三個選項卡我想顯示X
和Y
。
Dublicating相同fx:id
不允許(Netbeans的說),並在不同的.fxml
文件出口X
和Y
,使我只是包括了他們兩次,無論是作品。那是另一個問題。
你會如何解決這個問題?
用自己的FXML創建一個新組件。那麼你可以只包括你想要的數量。
實現此目的的一種方法是實現擴展javafx組件(例如Pane或VBox)的自定義Java類,然後在此類的構造器中加載其佈局的FXML。使用FXMLLoader,您可以將控制器和根設置爲當前組件,並在FXML中使用fx:root標記。
您將擁有一個具有java類的組件,它將成爲它自己的FXML的根和控制器。
我通常會建議將整個.FXML
分成3個不同的部分,可以單獨維護。
TabView
,SplitPanes
和像這樣的所有容器應該在獨立的FXML
和每個新窗格在另一個。你的情況:
您可以導出他們以這種方式,但是元素需要一個容器比如HBox
或者簡單的東西(比如你開始SceneBuilder時需要創建的Pane
或者你父母的root
)