Javafx:在另一个内部包含一个组件

时间:2019-03-06 17:00:27

标签: javafx eclipse-rcp efxclipse

我在我的应用程序中使用了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>

0 个答案:

没有答案