BorderPane.getCenter()从字面上从BorderPane的中心区域获取节点

时间:2018-11-07 11:55:06

标签: java javafx borderpane

我注意到BorderPane.getCenter()从放置它的区域中删除了它返回的节点。我要做的是将子对象镜像到BorderPane的中心,然后将其放入另一个BorderPane中,以检查我的代码(尝试通过将其设置为null而不选择选项卡时释放内存)。这是我的代码:

TabPane.getSelectionModel().selectedItemProperty().addListener((obs,ov,nv)-{

    //checks if "MyTab" tab is selected
    if (nv.getText().equals("MyTab")) {
        try {
                MyTabBP.setCenter(FXMLLoader.load(getClass().getResource("MyTab.fxml")));
                MirrorBP.setCenter(MyTabBP.getCenter());
            } catch (IOException ex) {
                Logger.getLogger(FXMLDocumentController.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

      //  else {
      //      MyTabBP.setCenter(null);
      //  }

    });

我注意到的(当我注释掉else块时)是,在单击MyTab之后,BorderPane MyTabBP将为空,并且在检查MirrorBP(位于另一个选项卡上)之后,这就是我在MyTabBP中加载的fxml所在的位置被插入。在检查BorderPane文档之后,它说

  

getCenter()   获取属性中心的值。

所以我认为它只会复制MyTabBP中心内部的所有内容。所以我的问题是如何镜像BorderPane的区域(顶部,左侧,底部,右侧,中央)的内容?并希望一旦节点发生更改,它将更新引用该节点的人员。这样我就可以测试这是否真的有效。

MyTabBP.setCenter(null);

任何帮助都会很棒。谢谢!

0 个答案:

没有答案