作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个秒表程序,我想设置一张照片进行旋转。问题是,我不知道如何调用 Controller 文件中的照片。它只是告诉我它找不到符号。
这是我想从 .fxml 文件调用的照片
<ImageView fx:id="hand">
<image>
<Image url="@hand.png"/>
</image>
</ImageView>
这是我在 Controller 文件中调用它的地方,但出现错误。
@FXML
private void updateStopwatch(){
elapsedTime++;
Integer rotation = elapsedTime * 6;
hand.setRotate(rotation);
}
感谢您提前提供的帮助。我得到的错误如下:
hand.setRotate(rotation);
^^^^
Cannot find symbol hand
最佳答案
当您为要注入(inject) Controller 的 fxml 对象提供了正确的属性 fx:id="hand"
时,您需要将该 id 声明为 Controller 类中的属性。
public class MyController {
@FXML private ImageView hand;
private void updateStopwatch(){
elapsedTime++;
Integer rotation = elapsedTime * 6;
hand.setRotate(rotation);
}
}
在您的 fxml 文件中,您必须通过在根元素中添加此属性来引用 Controller (MyController):
fx:controller="some.package.MyController"
您的 fxml 文件可能仅引用一个 Controller 。
关于java - 如何从 Controller 文件中的 .fxml 文件调用对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32912036/
我是一名优秀的程序员,十分优秀!