javafx:fxml:显示元素两次
我想知道是否有一种简单的方法可以克隆FXML中的元素,比如文本框,以便多次显示它们 以下情况: 我有一个选项卡视图,希望在第一个选项卡上显示元素X,在第二个选项卡上显示元素Y,在第三个选项卡上显示X和Y 不允许使用相同的fx:id,也不允许在不同的.fxml文件中导出X和Y,所以我只需要将它们包含两次,这两种方法都不起作用。这是另一个问题javafx:fxml:显示元素两次,java,javafx-2,fxml,javafx-8,Java,Javafx 2,Fxml,Javafx 8,我想知道是否有一种简单的方法可以克隆FXML中的元素,比如文本框,以便多次显示它们 以下情况: 我有一个选项卡视图,希望在第一个选项卡上显示元素X,在第二个选项卡上显示元素Y,在第三个选项卡上显示X和Y 不允许使用相同的fx:id,也不允许在不同的.fxml文件中导出X和Y,所以我只需要将它们包含两次,这两种方法都不起作用。这是另一个问题 如何解决这个问题?使用自己的FXML创建一个新组件。然后,您可以包含任意数量的内容 实现这一点的一种方法是实现一个自定义java类,例如扩展javafx组件窗
如何解决这个问题?使用自己的FXML创建一个新组件。然后,您可以包含任意数量的内容 实现这一点的一种方法是实现一个自定义java类,例如扩展javafx组件窗格或VBox,然后在该类的构造函数中加载其布局的FXML。使用FXMLLoader,可以将控制器和根设置为当前组件,并在FXML中使用fx:root标记
您将有一个带有java类的组件,它将是自己FXML的根和控制器。我通常建议将整个.FXML拆分为3个不同的部分,可以分别维护 TabView、SplitPanes和所有类似的容器都应该在一个独立的FXML中,每个新窗格都应该在另一个FXML中。就你而言: TabView=1 FXML 表1=1 FXML 表2=1 FXML 您可以通过这种方式导出它们,但是元素需要一个容器,比如HBox,或者一些简单的东西,比如启动SceneBuilder或根父级时需要创建的窗格