【问题标题】:How to find an element in Scene Builder by its fx:id如何通过 fx:id 在 Scene Builder 中查找元素
【发布时间】:2013-11-06 13:24:44
【问题描述】:

在 Scene Builder 中,每次打开 .fxml 文件时都会收到警告。警告说:

重复使用 fx:id="x2"

我不记得为任何元素设置了 fx:idx2,但这并不是真正的问题。问题是我在几个不同的容器中有数百个元素,很难用fx:id 找到这两个元素来修复这个警告。

有没有办法通过 fx:id 搜索在 Scene Builder 中找到一个元素?

编辑

具有重复 id 的元素是 Insets,我不确定它是如何创建的,但我确定它在库区域、层次结构区域和主区域中都不可见场景生成器。当我复制并粘贴一个带有标签和按钮的 HBox 时,它们的 ID 以某种方式被复制了。 HBox、Label 和 Button 的 id 没有重复,只有 Insets 的 id 是重复的。

Insets 在源代码中是这样的:

<HBox.margin>
    <Insets left="130.0" fx:id="x2" />
</HBox.margin>

我刚刚删除了他们的 id,问题就消失了! Antoniossss 的回答帮助了我。

【问题讨论】:

  • 可能是场景构建器中的一个错误。

标签: java javafx-2 javafx scenebuilder


【解决方案1】:

您为什么不直接使用文本编辑器编辑生成的fxml 文件并在其中搜索x2

【讨论】:

  • 多么简单而伟大的想法!我完全忘记了源代码,只在可视化工具中查看。谢谢!
【解决方案2】:

尝试以下通过 id 获取元素

scene.lookup("#yourid");

【讨论】:

  • 我应该在哪里写这个?
  • 场景渲染后。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多