我在我的应用程序中使用了eclipse e4和javafx,我想做一些事情,但是找不到实现它的方法。
我有一个由零件和控制器组成的组件(我们称其为PartA和ControllerA),我希望它可以在MWindow中单独使用,或通过包含物嵌入在另一个组件(B)中,就像这样。
A.fxml:
fromTcp
B.fxml
toEcho
我试图通过简单地扩展此类来加载带有PartA和PartB的控制器:
LoggingHandler
当我仅加载组件A时,它可以正常工作,但是当我尝试加载组件B时,出现此错误:
<fx:root fx:id="mainVBox" type="VBox" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="my.package.ControllerA">
<children> ... </children>
</fx:root>
所以我不确定这是否是执行此操作的好方法,如果是,我为什么或如何在嵌入式组件中设置root。
编辑:我意识到我在两个组件上都使用了fx:root,我认为它只应在A上使用。所以我在B上删除了它,现在出现了相反的错误:
<fx:root type="VBox" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="my.package.ControllerB">
<children>
<SplitPane>
<items>
<AnchorPane />
<AnchorPane >
<children>
<fx:include source="A.fxml" />
</children>
</AnchorPane>
</items>
</SplitPane>
</children>
</fx:root>