使用 JavaFX,有没有一种方法可以阻止 GUI 树中的节点获取对其父节点的引用? 例如给定这个结构
AnchorPane > BorderPane > Pane
我如何确定最后一个 Pane 无法通过调用 .getParent() 访问它的父 BorderPane?
我需要这个,因为我正在从不受信任的代码中加载“ Pane ”,并且不希望它弄乱包含它的主窗口组件。
最佳答案
一种解决方案是在您的 BorderPane
和不受信任的 Pane
之间插入一个中间父级。此父级可以阻止对其自己父级的访问。
但是,方法 getParent和 parentProperty是final
,没有标准方法来阻止节点访问其父节点。
其他选项可能是获取您自己的副本或允许覆盖 *parent*
方法的 jre,或一些基于反射的 hacky 代码。
关于JavaFX 阻止 Node.getParent() 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18697047/