使用JavaFX,是否可以防止GUI树中的节点获取对其父节点的引用?
以这种结构为例

AnchorPane > BorderPane > Pane


我如何确定最后一个窗格无法通过调用.getParent()访问其父BorderPane?

我之所以需要它,是因为我正在从不受信任的代码中加载“ Pane”,并且不希望它与包含它的主窗口组件混淆。

最佳答案

一种解决方案是在您的BorderPane和不受信任的Pane之间插入一个中间父级。该父级可以阻止对其自身父级的访问。

但是,方法getParentparentPropertyfinal,没有阻止节点访问其父节点的标准方法。

其他选项可能是获得您自己的副本或jre允许覆盖*parent*方法,或者是一些基于反射的hacky代码。

10-05 22:02