JavaFX 阻止 Node.getParent() 调用

标签 java user-interface javafx-2

使用 JavaFX,有没有一种方法可以阻止 GUI 树中的节点获取对其父节点的引用? 例如给定这个结构

AnchorPane > BorderPane > Pane

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

我需要这个,因为我正在从不受信任的代码中加载“ Pane ”,并且不希望它弄乱包含它的主窗口组件。

最佳答案

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

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

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

关于JavaFX 阻止 Node.getParent() 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18697047/

相关文章:

java - Android - 当我删除列表项时应用程序崩溃

java - Java 中的内存效率

java - 圆边按钮

android - 如何为布局设置不同的主题

javafx-2 - 如何对不透明的 child 实现透明的 Pane ?

javafx-2 - 设置场景宽度和高度

带有锁定 jar 的 Java classLoader 困境

Java 泛型 : array creation, 类型转换和未经检查的警告

user-interface - 在 MS Paint 中编写绘图程序 - 如何在鼠标移动事件之间进行插值?

javafx-2 - 如何在勾选或取消勾选部分项目时勾选和取消勾选所有项目