我想获得在FXML中定义的imageview的id或名称。
imageview的ID或名称类似于' img001'。
当我拨打' getid()'
时Imageview tempImg = (ImageView) event.getTarget();
targetNode = new Node();
targetNode.setImage(tempImg.getImage());
System.out.println(targetNode.getId());
结果为空。
在FXML中,
<MyNode id="impo" fx:id="impo" fitHeight="48.0" fitWidth="52.0" focusTraversable="true"
layoutX="53.0" layoutY="12.0" onMouseDragged="#addNode" onMousePressed="#addNode"
onMouseReleased="#addNode" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@../../../../../../img/icon_data_add.png" />
</image>
</MyNode>
MyNode是从ImageView类扩展的。
我怎样才能获得身份证??
答案 0 :(得分:0)
问题是您正在创建一个未附加到FXML的新Node
。
targetNode = new Node(); //Not what you want
如果您的ImageView在FXML中定义了ID,则可以使用getId()
方法访问它
tempImg.getId();
如果您想获取包裹ImageView
(示例中为MyNode
)的节点的ID,可以调用getParent()
方法。
tempImg.getParent().getId();