我想知道是否有一种简单的方法可以克隆FXML(例如文本框)中的元素以多次显示它们。
以下情况:
我有一个TabView并且想要在第一个 Tab 元素X、第二个 Tab 元素Y和第三个 Tab 上显示我想要显示X和Y。
不允许复制相同fx:id的内容(Netbeans 说)并导出X和Y在不同的.fxml文件中,所以我只包含它们两次,两者都不起作用。那是另一个问题。
你会如何解决这个问题?
I would generally suggest splitting the whole .FXML into 3 different pieces which can be maintained seperately.
TabView, SplitPanes and all containers like this should be in a standalone FXML and each new pane in another one. In your case:
You can export them in that way, but the elements need a container like HBox or something simple (like the Pane you need to create when you start SceneBuilder or your root Parent)
使用自己的 FXML 创建一个新组件。然后,您可以包含任意数量的内容。
实现此目的的一种方法是实现一个扩展 javafx 组件(例如 Pane 或 VBox)的自定义 java 类,然后在此类的构造函数中加载其布局的 FXML。使用 FXMLLoader,您可以将控制器和根设置为当前组件,并在 FXML 中使用 fx:root 标记。
您将拥有一个带有 java 类的组件,该组件将成为其自己的 FXML 的根和控制器。