2013-11-28 31 views
2

我想让用户在我的应用程序中创建一个新的选项卡。如何在JavaFX中将内容从一个标签复制到另一个标签?

我试过tab.setContent(tag.getContent());,但它将一个标签的内容移动到另一个标签,而第一个标签的内容为空。

有没有办法制作标签内容的副本?

+0

我可以做到这一点的唯一方法是使用标签内容的复制构造函数。创建VBox之类的子类,然后创建一个构造函数,该构造函数将(VBox)tabContent并将其复制到新实例。我想知道是否有更好的方法! – brian

+0

我正在玩它。我想我找到了另一种方式。我仅为选项卡制作了单独的FXML文件。并实例化一个新的FXMLLoader,并用它来创建一个新的节点根(loader.load();它为我提供了一个作为根的anchorpane)。然后创建一个新的Tab对象,并使用根来设置标签对象的内容:mynewTab.setContent(tabroot)。 – melkhaldi

+0

这将工作,因为它使一个新的实例,但它不会复制任何更改的数据。想象一下用户输入内容的TextArea。无论在FXML文件中未设置什么都不会被创建。 – brian

回答

1

我为制表单创建了一个单独的FXML文件,为FXMl文件创建了一个加载器,然后加载它以获取根。使用root创建一个场景并最终将场景添加到TabPane!

相关问题