2013-09-26 108 views
1

我想知道是否有一個簡單的方法來克隆元素在FXML(如文本框)來顯示它們多次。javafx:fxml:顯示元素兩次

以下情況:

我有一個TabView並希望顯示在第一個選項卡元素X,在第二個選項卡元素Y在第三個選項卡我想顯示XY

Dublicating相同fx:id不允許(Netbeans的說),並在不同的.fxml文件出口XY,使我只是包括了他們兩次,無論是作品。那是另一個問題。

你會如何解決這個問題?

回答

0

用自己的FXML創建一個新組件。那麼你可以只包括你想要的數量。

實現此目的的一種方法是實現擴展javafx組件(例如Pane或VBox)的自定義Java類,然後在此類的構造器中加載其佈局的FXML。使用FXMLLoader,您可以將控制器和根設置爲當前組件,並在FXML中使用fx:root標記。

您將擁有一個具有java類的組件,它將成爲它自己的FXML的根和控制器。

0

我通常會建議將整個.FXML分成3個不同的部分,可以單獨維護。

TabView,SplitPanes和像這樣的所有容器應該在獨立的FXML和每個新窗格在另一個。你的情況:

  • TabView的= 1 FXML
  • 標籤1 = 1 FXML
  • 標籤2 = 1 FXML

您可以導出他們以這種方式,但是元素需要一個容器比如HBox或者簡單的東西(比如你開始SceneBuilder時需要創建的Pane或者你父母的root