簡體   English   中英

javafx:fxml:兩次顯示元素

[英]javafx: fxml: display elements twice

我想知道是否存在一種簡單的方法來克隆 FXML元素(例如文本框)以顯示一次以上。

以下情況:

我有一個TabView並且想要顯示在第一個Tab元素X上,第二個Tab元素Y和第三個Tab上,我想顯示XY

不允許復制相同的fx:id (Netbeans說),並且將XY導出到不同的.fxml文件中,因此我只將它們包括兩次,但均.fxml 那是另一個問題。

您將如何解決?

用自己的FXML制作一個新組件。 然后,您可以根據需要添加任意數量。

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

您將擁有一個帶有java類的組件,該組件將成為其自己的FXML的根和控制器。

我通常建議將整個.FXML分為3個不同的部分,可以分別進行維護。

TabViewSplitPanes和所有類似的容器都應位於獨立的FXML ,每個新窗格都位於另一個窗格中。 在您的情況下:

  • TabView = 1 FXML
  • 標簽1 = 1 FXML
  • 標簽2 = 1 FXML

您可以通過這種方式導出它們,但是元素需要一個容器,例如HBox或簡單的容器(例如,啟動SceneBuilder或root父Parent時需要創建的Pane

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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