如何获取javafx中子节点的访问权限?

2024-02-27

我有一棵这样的树:

正如您所看到的,GridPane 有 10 列。它们每个都包含包裹在 AnchorPane 中的 BorderPane。每个 BorderPane 由 2 个标签和 1 个单选按钮组成。您可以在下面看到它的样子:

我想问您如何从代码端访问这些元素。我知道我可以在 GridPane 上使用 getChildren() 方法,但随后我只能从 GridPane 列中获取 AnchorPanes。我想深入研究,例如将文本设置到其中一个标签中。

我想添加场景生成器中的 set id 不是我想要的,因为会有很多列,我将在某个循环中填充它。

你能帮我解决这个问题吗?

另一件事:我在场景生成器中构建视图。


你你可以设置 CSS id https://docs.oracle.com/javase/8/javafx/api/javafx/scene/Node.html#setId-java.lang.String-对于创建时循环内的节点。您可以稍后lookup https://docs.oracle.com/javase/8/javafx/api/javafx/scene/Node.html#lookup-java.lang.String-按您设置的 id 的节点。 A查找也适用于场景 https://docs.oracle.com/javase/8/javafx/api/javafx/scene/Scene.html#lookup-java.lang.String-查找场景中的任何节点或匹配的节点集。

HBox parent = new HBox();
for (int i = 0; i < N_COLS, i++) {
    Node childNode = createNode();
    childNode.setId("child" + i);
    parent.getChildren().add(childNode);
}
. . .
Node redheadedStepchild = parent.lookup("#child5");

当然,您也始终可以通过标准对象访问器方式访问子对象:

Node redheadedStepchild = parent.getChildren().get(5);

如果结构像您的问题中那样嵌套,那么您可以执行以下操作:

Node redheadedGrandchild = grandparent.getChildren().get(3).getChildren().get(5);

此类搜索在大型结构上会变得复杂,最好避免,因为您的代码会变得更加脆弱。所以基于 css 的查找或树遍历 https://en.wikipedia.org/wiki/Tree_traversal可能是首选,或者通过直接注入参考fx:id and @FXML,这在您的情况下效果不佳,因为您在循环中的代码中创建项目,因此查找方法可能最适合您。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取javafx中子节点的访问权限? 的相关文章

  • 可以将矩形设置为显示边框吗?

    以下应用 public class Temp extends Application Override public void start Stage primaryStage StackPane root new StackPane Re
  • JavaFX Node.lookup() 仅对使用 FXMLLoader 加载的 Parent 中的某些元素返回 null

    我从 FXML 加载了一个父级 将其添加到场景 舞台内的窗格中并显示它 然后立即查找组件 Lookup 对某些返回 null 但对其他返回非 null 什么情况下会这么做 这是加载和查找代码 rootUi FXMLLoader load g
  • RichTextFx CodeArea 中的文本背景颜色

    我正在使用 RichTextFx CodeArea 来突出显示我的代码 我想更改某些关键字的文本背景颜色并使用下面的 css parameter rtfx background color yellow But it s changes b
  • FXML load() 期间出现 JavaFX IllegalAccessException

    我有一个由以下代码调用的对话框窗口 DialogController是使用模式对话框窗口的辅助类 它主要将控制器引用与其窗口捆绑在一起 void handleServicesEdit ActionEvent event throws IOE
  • 向 Windows 任务栏缩略图添加按钮 JavaFX?

    这个问题已经闲置一年多了 我的问题仍然没有解决方案 我编辑此内容是为了澄清我的问题并引起人们对它的新关注 如果您使用 Windows 您可能知道将程序图标悬停在任务栏上时显示的小预览图像 缩略图 某些程序 例如 Spotify Git 扩展
  • 从后台线程更新可观察列表的正确方法

    我正在尝试遵循 MVC 进行测试项目 因此我的模型应该完全独立于我的观点 但是我不确定应该如何更新在后台线程中更新的可观察列表 正在给出有关上传的字符串 文件 以便消息显示在 UI 上的 ListView 中 我正在使用 JavaFX 并尝
  • JavaFX TextField cancelEdit 未按预期工作

    I have a TextField https docs oracle com javase 8 javafx api javafx scene control TextField html and I would like the co
  • 访问 java jigsaw 模块中的资源文件[重复]

    这个问题在这里已经有答案了 我正在尝试从项目中的类访问 Eclipse 项目中的文件 我需要将该项目声明为 jigsaw 模块才能从其他项目访问它 但是通过这样做 我无法再访问项目中的 example png 等文件 这是我的项目结构 pr
  • JavaFX中如何获取鼠标位置?

    我是java fx 的初学者 如何在 JavaFX 中获取鼠标在 x 和 y 中的位置 我尝试使用 AWTMouseInfo 也导入了它 但它不起作用 我还在 Ensembles 中看到了它的代码 在 高级阶段 拖动球窗口 这就是我需要做的
  • javafx中的stackpane和root有什么区别?

    我正在练习javafx做饼图 以下是开发饼图的代码 如果我这样做Group并与StackPane 我发现输出没有区别 我已经评论了组部分 只是徘徊两者之间的区别 import javafx application Application i
  • 在 Jar 中为 Gluon Scene Builder 11.00 创建自定义控件

    我想在可执行 jar 文件中创建自定义控件 然后在 Gluon Scene Builder 11 00 中使用 我需要知道如何做到这一点 我尝试了几种形式 但在场景生成器中导入 jar 时我的控件没有出现 我正在使用 IntelliJ Co
  • 无法解析符号“javafx.scene.web”

    使用Intellij 2021 3 2 JavaFX版本 11 0 2 1 我正在尝试将 JavaFX WebView 添加到我的应用程序中 我的导入语句无法编译 import javafx scene web 编译错误 java 找不到符
  • JavaFX 如何在不改变线宽的情况下缩放路径的坐标?

    我目前正在制作具有缩放和平移功能的阶梯折线图 由于我需要处理的数据量非常大 因此每次调用layoutPlotChildren 时 我无法重新创建步骤线的整个路径 所以我的想法是创建一次路径元素 然后在缩放和平移事件时对其进行转换 到目前为止
  • JavaFX MediaPlayer - 音乐在 10 秒后停止

    这是代码 就像标题所说的 音乐在10秒后停止 我在vlc或其他程序中正常播放该文件 持续了5分钟多 public void music String bip src data fjordmusic mp3 Media hit new Med
  • JavaFX 中的 fx:id 和 id: 有什么区别?

    也许是一个真正的新手的问题 我开始通过阅读以下教程在 FMXL 应用程序中使用场景生成器学习 JavaFX http docs oracle com javase 8 javafx get started tutorial fxml tut
  • JavaFX 中 WebView 的性能

    我有一个 HTML5 UI 和一个 Java 后端 并且希望避免在纯 java 中重建 HTML ui 所以我的想法是运行本地 Web 服务器并使用 WebView 在 本机 窗口中呈现它 解决方案似乎是使用可以嵌入到 swing 中的 J
  • 为什么 JavaFX API 不包含在 Java 8 J2SE 中? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 有谁知道为什么 JavaFX 8 仍然不是即将推出的 Java 8 中的日常 J2SE API 显示所有 Java 组件的技术图清楚地将 Jav
  • 复选框选择与 TableView 绑定

    How to bind with TableView selection model with checkbox isSelected in table view In manually using mouse multiple selec
  • JavaFX 8 默认消息图标

    随着 JavaFX 的最近几次更新 我们收到了警报 我想获取消息的默认图标 错误 警告 在Swing中 我可以通过一些方式获取L F消息图标UIManager的属性 如何在 JavaFX 中获取消息的默认图标 它们是包含在属性中 还是由 C
  • JavaFX 中的 MVC 模式与场景生成器

    我是 JavaFX 新手 根据我当前的设置 正在努力创建合适的 MVC 架构 我使用 Scene Builder 单击了一个 UI 并指定了一个 Controller 类 Startup public class Portal extend

随机推荐

  • 如何从java实例化在scala中定义的嵌套泛型类?

    我试图从 Java 实例化一个嵌套通用 Scala 类并遇到此编译错误 有人可以帮忙吗 谢谢 外部 scala class Outer class Inner A sctest java public class sctest public
  • HTML 标签表到文本字段 - JasperReport

    我有一个使用 html 标记语言或样式的参数输入到文本字段 但是当我放置标签时 它根本不显示 Jaspersoft 支持的 thid 标签 b b u u i i font font
  • 如何结合对称加密和非对称加密?

    在谈论非对称加密时 人们经常说 由于某些原因 您不应该对整个消息进行非对称加密 例如性能考虑 通常建议的工作流程是 创建对称加密的随机密钥 使用此随机密钥加密消息 使用非对称加密对随机密钥进行加密 将加密消息和加密密钥发送给接收者 到目前为
  • Azure 逻辑应用 - 用于部署文件系统 API 连接的 ARM 模板

    我正在尝试使用 ARM 模板部署文件系统 API 连接 我找不到此连接的parametersValue架构 因此尝试按照Azure门户上显示的参数命名它们 在 Azure 门户上编辑 API 连接屏幕截图1 https i stack im
  • 用自己的实现和信任管理器替换 SSLContext 默认值

    基于 Jcs 的回答 HttpUnit WebConversation SSL 问题 https stackoverflow com questions 4868654 httpunit webconversation ssl issues
  • 如何使用 Java 以编程方式签署二进制 MS Office 文档?

    我们如何在 Apache POI 或任何其他开源库中对旧版二进制 MS Office 文档 doc xls ppt 进行数字签名 Open XML 格式包含在如何使用 Java 以编程方式签署 MS Office XML 文档 https
  • 使用 GridLayout 搞乱计算器

    我在使布局看起来漂亮方面遇到了麻烦 为了了解基础知识 我决定创建一个简单的计算器应用程序 因此 我使用嵌套在 LinearLayout 中的 GridLayout 将按钮放置在文本字段下 这是我的布局的来源
  • UIView 上圆形层的快速遮罩

    我试图用圆形 CAShapeLayer 快速掩盖方形 UIView 我有以下内容 var snapFrame self snapButton frame var innerFrame CGRect x snapFrame minX 1 y
  • 如何使用 CompletableFuture 并行运行多个服务调用?

    我正在向用户返回以下响应 class FinalResponseDTO List
  • Pygame PNG 图像看起来已损坏

    我正在跟进本指南 http www nerdparadise com tech python pygame basics part2 尝试在 Pygame 窗口中显示基本的 PNG 图像 我的图像是一个简单的 150x150 绿球 没有透明
  • 无法反序列化 lambda

    就像一个小项目一样 我一直在尝试制作一个小东西 读取序列化的 lambda 本地或从 FTP 并调用它们的运行函数作为测试的一部分 以试验 Windows 中的文件关联 即打开某些文件类型 用某个程序打开它们 等等 但无论我尝试什么 它似乎
  • getDimension()/getDimensionPixelSize() - 乘数问题

    所以我有 android 2 3 5 设备 它是 NORMAL HDPI 我的项目中有一个dimens xml
  • 从临时服务器连接到 GitoLite 时出错 - ECONNREFUSED 部署错误

    我在尝试将以前工作的项目部署到开发服务器时遇到了一些麻烦 我没有设置系统 但我确实拥有我需要的所有凭据 我认为 在尝试 cap staging 部署之后 我到目前为止 然后它产生了一个错误 请看下面 triggering load call
  • sed 用 C++ 注释替换(单行)C 注释

    我如何使用 sed 将源文件中的所有 C 风格注释替换为 C 风格 所有这些 int main some comments to int main some comments 所有注释都是单行 并且代码之间没有像这样的注释 int f in
  • 多层神经网络不会预测负值

    我已经实现了一个多层感知器来预测输入向量的正弦 这些向量由随机选择的四个 1 0 1 组成 偏差设置为 1 网络应该预测向量内容之和的 sin 例如 输入 输出 Sin 0 1 1 0 1 我遇到的问题是网络永远不会预测负值 并且许多向量的
  • 初始化 tkinter 类的父级/主控是什么?

    Note 示例代码是一个删节版本 但可以运行基本功能 请重点关注class MainWindow tk Frame 问题 什么样的object可以起到parent or master for tkinter class初始化 我的例子 看示
  • OpenGL重叠丑陋的渲染

    我正在尝试使用 OpenGL 2 1 渲染场景 但重叠形状的边框很奇怪 我测试了一些 OpenGL 初始化 但没有任何改变 我将问题简化为一个简单的测试应用程序 其中有 2 个球体 但结果相同 我尝试了一些关于 Gl DEPTH TEST
  • 警告:未找到提供程序 com.sun.xml.internal.bind.v2.ContextFactory

    我在 JSF 应用程序中集成了一些 Web 服务Jersey 一切正常 甚至 OAuth 识别也正常 但 当启动我的网络服务器时 我总是收到此错误 INFO Scanning for root resource and provider c
  • csrf 与 ajax 和 django post

    使用jquery v1 7 1和django 1 3 我试图通过ajax发出post请求 在我找到的一些教程代码中web http lethain com intro to unintrusive javascript with djang
  • 如何获取javafx中子节点的访问权限?

    我有一棵这样的树 正如您所看到的 GridPane 有 10 列 它们每个都包含包裹在 AnchorPane 中的 BorderPane 每个 BorderPane 由 2 个标签和 1 个单选按钮组成 您可以在下面看到它的样子 我想问您如