我需要在FXML控制器中引用三个省略号:
.image-zoom img {
transition:all 0.5s;
-moz-transition:all 0.5s;
-webkit-transition:all 0.5s;
overflow:hidden;
}
.image-zoom img:hover{
transform:scale(1.1);
-moz-transform: scale(1.1);
-webkit-transform:scale(1.1);
}
创建场景后将其传递给控制器:
<Ellipse fx:id="selectorontop" id="selectorontop" fill="WHITE" layoutX="121.0" layoutY="101.0" radiusX="14.0" radiusY="27.0" stroke="WHITE" strokeType="INSIDE" style="-fx-opacity: 70%;" visible="false" />
<Ellipse fx:id="selectoronmiddle" id="selectoronmiddle" fill="WHITE" layoutX="121.0" layoutY="168.0" radiusX="14.0" radiusY="27.0" stroke="WHITE" strokeType="INSIDE" style="-fx-opacity: 70%;" visible="false" />
<Ellipse fx:id="selectoronbottom" id="selectoronbottom" fill="WHITE" layoutX="120.0" layoutY="466.0" radiusX="14.0" radiusY="27.0" stroke="WHITE" strokeType="INSIDE" style="-fx-opacity: 70%;" visible="false" />
该场景已由控制器接收,但是无论是在主Java文件(如上所示)还是在Controller中,查找结果仍为“空”,我不知道为什么。
预先感谢
答案 0 :(得分:2)
您使用的选择器按类型而不是ID进行选择。它选择类型为selectorontop
的节点,我很确定这种类型不存在。 (至少在场景中没有这种类型的节点。)
您需要使用适当的CSS选择器。在这种情况下,您需要使用#selectorontop
通过ID进行选择:
System.out.println("new: " +scene.lookup("#selectorontop"));