如何从控制器文件中的.fxml文件中将对象作为对象调用?

时间:2015-10-02 16:49:43

标签: java image javafx javafx-8 fxml

我正在制作秒表计划,我想设置一张照片进行轮换。问题是,我不知道如何调用控制器文件中的照片。它只是告诉我它找不到符号。

这是我想从我的.fxml文件中调用的照片

 <ImageView fx:id="hand">
     <image>
        <Image url="@hand.png"/>
     </image>
  </ImageView>

然后我在控制器文件中调用它,但是我收到错误。

@FXML
 private void updateStopwatch(){
    elapsedTime++;
    Integer rotation = elapsedTime * 6;
    hand.setRotate(rotation);      


 }

提前感谢您的帮助。我得到的错误如下:

hand.setRotate(rotation); 
^^^^
Cannot find symbol hand

1 个答案:

答案 0 :(得分:1)

当你给fxml对象注入你想要注入控制器的正确属性AttributeError时,你需要将该id声明为控制器类中的属性。

fx:id="hand"

在你的fxml文件中,你必须通过在root元素中添加这个属性来引用控制器(MyController):

public class MyController {
    @FXML private ImageView hand;

    private void updateStopwatch(){
        elapsedTime++;
        Integer rotation = elapsedTime * 6;
        hand.setRotate(rotation);      
    }
}

你的fxml文件可能只涉及一个控制器。