首页 > 解决方案 > 如何使用孩子的变量名获取 StackPane 的孩子

问题描述

TabPane tabpaneSubs = new TabPane();
stackPane.getChildren().add(tabpaneSubs);

button.setOnAction( actionEvent -> {
     stackPane.getChildren().get(1).toFront();
}

而不是使用.get(1)我想使用变量的名称:tabpaneSubs

我怎么做 ?

标签: javajavafx

解决方案


TabPane这应该只是因为你在编译时已经知道你是一个孩子:

button.setOnAction( actionEvent -> {
     tabpaneSubs.toFront();
});

更一般地说,您应该使用该id属性来查找特定的东西

tabpaneSubs.setId("my-tab-pane");

button.setOnAction( actionEvent -> {
     for(Node node : stackPane.getChildren()) {
       if("my-tab-name".equals(node.getId()){
         node.toFront();
         return;
       }
     }
});

推荐阅读