我不确定如何说出这个问题,也许这就是为什么我无法在其上找到一个主题......但是......
我希望从FXML中获取TextFields的所有fx:id。
<GridPane alignment="center" hgap="10" vgap="10">
<TextField fx:id="_azimuth" GridPane.columnIndex="1" />
<TextField fx:id="_elevation" GridPane.columnIndex="1" GridPane.rowIndex="1" />
</GridPane>
我环顾四周,看了几个关于如何根据fxml元素的id或属性解析搜索,但不是相反...
例如(从未测试过此代码,但它类似于我所指的示例):
String expression = "/GridPane/TextField[@fx:id='_elevation']";
我只是在寻找这个反...:\
如果之前已经在另一个帖子中回答了这个问题,请你指点我吗?谢谢你的时间!
编辑:放置标签而不是TextFields。遗憾!
答案 0 :(得分:0)
我最终通过我的导师找到了答案,但是在我将FXML读入NodeList之后,这里是代码片段。
Node node = (Node) xPath.compile(expression).evaluate(xmlDocument, XPathConstants.NODE);
NodeList temp = node.getChildNodes();
for(int i = 0; i < temp.getLength(); i++){
System.out.println(i + ": " + temp.item(i).getNodeName());
if(temp.item(i).getNodeName().equals("TextField")){
System.out.println(temp.item(i).getAttributes().getNamedItem("fx:id").getNodeValue());
}
}
输出:
1: TextField
_elevation
2: #text