JavaFx是否正在查找具有特定id的源父节点?
有没有办法通过方法找到父节点(层次结构较高)? 可以使用元素id或类 除了这样的事情还有别的选择吗JavaFx是否正在查找具有特定id的源父节点?,javafx,Javafx,有没有办法通过方法找到父节点(层次结构较高)? 可以使用元素id或类 除了这样的事情还有别的选择吗 source.getParent().getParent().getParent().getParent().getParent().getParent(); 可以根据场景对象中的节点ID查找任何节点 例如: Scene scene = source.getScene(); Node nodeToFind = scene.lookup("#nodeToFindId"); 该ID是CSS选择器
source.getParent().getParent().getParent().getParent().getParent().getParent();
可以根据场景对象中的节点ID查找任何节点 例如:
Scene scene = source.getScene();
Node nodeToFind = scene.lookup("#nodeToFindId");
该ID是CSS选择器(ID)或FX ID。它必须在节点上设置,且不带“#”字符。调用“lookup”方法时,“#”字符必须位于ID之前,如上所述 我知道你想避免这一点,但它仍然没有那么糟糕,并且起到了作用:
Node node = youNode;
while (node != null){
node = node.getParent();
}
Node parentNode = node;
否则,如果您有权访问场景对象:
Node parentNode = scene.getRoot();
陛下我得到了java.lang.NullPointerException。可能问题是我的图表是这样开始的:gantChartStage=new RmsGantChart();甘特图阶段。初始模态(模态。无);RmsGantChart扩展了Stage甘特图Stage.showAndWait();当您尝试查找“nodeToFindID”时,源节点是否显示在场景中?如果(Node.getId().equals(myd)在while循环中返回节点,则返回ok。