1

我想知道是否有一种简单的方法可以克隆FXML(例如文本框)中的元素以多次显示它们。

以下情况:

我有一个TabView并且想要在第一个 Tab 元素X、第二个 Tab 元素Y和第三个 Tab 上显示我想要显示XY

不允许复制相同fx:id的内容(Netbeans 说)并导出XY在不同的.fxml文件中,所以我只包含它们两次,两者都不起作用。那是另一个问题。

你会如何解决这个问题?

4

2 回答 2

0

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:

  • TabView = 1 FXML
  • Tab 1 = 1 FXML
  • Tab 2 = 1 FXML

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)

于 2013-09-26T19:41:30.287 回答
0

使用自己的 FXML 创建一个新组件。然后,您可以包含任意数量的内容。

实现此目的的一种方法是实现一个扩展 javafx 组件(例如 Pane 或 VBox)的自定义 java 类,然后在此类的构造函数中加载其布局的 FXML。使用 FXMLLoader,您可以将控制器和根设置为当前组件,并在 FXML 中使用 fx:root 标记。

您将拥有一个带有 java 类的组件,该组件将成为其自己的 FXML 的根和控制器。

于 2013-09-26T12:15:47.143 回答