Java 如何通过其fx:id在场景生成器中查找元素
在场景生成器中,每次打开.fxml文件时都会收到警告。警告说: 重复使用fx:id=“x2” 我不记得为任何元素设置了Java 如何通过其fx:id在场景生成器中查找元素,java,javafx-2,javafx,scenebuilder,Java,Javafx 2,Javafx,Scenebuilder,在场景生成器中,每次打开.fxml文件时都会收到警告。警告说: 重复使用fx:id=“x2” 我不记得为任何元素设置了x2的fx:id,但这并不是一个真正的问题。问题是,我在几个不同的容器中有数百个元素,很难用这个fx:id找到这两个元素来修复此警告 是否有一种方法可以通过按元素的fx:id进行搜索来在场景生成器中查找元素 编辑 id重复的元素是一个,我不确定它是如何创建的,但我确定它在库区域、层次区域或场景生成器的主区域中都不可见。当我复制并粘贴一个带有标签和按钮的HBox时,他们的ID不知何
x2
的fx:id
,但这并不是一个真正的问题。问题是,我在几个不同的容器中有数百个元素,很难用这个fx:id
找到这两个元素来修复此警告
是否有一种方法可以通过按元素的fx:id
进行搜索来在场景生成器中查找元素
编辑
id重复的元素是一个,我不确定它是如何创建的,但我确定它在库区域、层次区域或场景生成器的主区域中都不可见。当我复制并粘贴一个带有标签和按钮的HBox时,他们的ID不知何故被复制了。HBox、标签和按钮的id没有复制,只有插图的id
插图在源代码中如下所示:
<HBox.margin>
<Insets left="130.0" fx:id="x2" />
</HBox.margin>
我刚删除了他们的id,问题就解决了!Antoniosss的回答对我很有帮助。你为什么不干脆用文本编辑器编辑生成的
fxml
文件,然后在其中搜索x2
?你为什么不干脆用文本编辑器编辑生成的fxml
文件,然后在其中搜索x2
scene.lookup("#yourid");
尝试下面的方法按id获取元素
scene.lookup("#yourid");
多么简单和伟大的想法!我完全忘记了源代码,只在可视化工具中查看。谢谢多么简单和伟大的想法!我完全忘记了源代码,只在可视化工具中查看。谢谢我应该在哪里写?在场景渲染后。我应该在哪里写?在场景渲染后。可能是场景生成器中的错误。可能是场景生成器中的错误。