是否有通过方法查找父节点(层次结构中较高)的方法? 可以使用元素id或类。
除此之外的其他选择吗?
source.getParent().getParent().getParent().getParent().getParent().getParent();
答案 0 :(得分:10)
您可以通过Scene对象中的ID查找任何节点。
例如:
Scene scene = source.getScene();
Node nodeToFind = scene.lookup("#nodeToFindId");
ID是CSS选择器(id)或FX ID。必须在没有“#”字符的节点上进行设置。当调用方法'lookup'时,'#'字符必须在ID之前,如上所述。
答案 1 :(得分:1)
嗯,我知道你想要避免这种情况,但仍然没有那么糟糕,并且做了工作:
Node node = youNode;
while (node != null){
node = node.getParent();
}
Node parentNode = node;
否则,如果您有权访问场景对象:
Node parentNode = scene.getRoot();