通过单击 btnChange 更改 ImageView 图像

Change ImageView image by clicking btnChange

我是 javafx 的新手。最近我尝试做一个程序,可以通过单击按钮切换来更改图像视图中的图像。出现错误

@FXML
private ImageView imgView;
@FXML
private Button btnChange;

@FXML
void changeImage (ActionEvent event) throws IOException
{
    Image image = new Image(getClass().getResource("Yuumi.jpg").toString());
    imgView.setImage(image);

}

This is my project and the FXML code


这是我的 FXML.fxml 代码 https://drive.google.com/open?id=1vQiMXxrRWd84YWcqmQO3xQx0Q1DdIBYt


错误 https://drive.google.com/open?id=1UwVzeEAp1YlhwP0xHZfxnioxEk2BAoC4


我的 FXML 控制器https://drive.google.com/file/d/1-7bAKoLhbLcC5bR4_boCG_O57sXPZpX_/view

从你提供的stack trace来看,问题说的很清楚,即

Caused by: java.lang.IllegalArgumentException: Can not set java.awt.Button field application.MainController.btnChange to javafx.scene.control.Button

看起来你在代码中导入了 java.awt.Button 而不是 javafx.scene.control.Button - 我也要求你提供但你没有提供,所以我无法验证这确实是你的问题。

编辑

从您的 MainController class...

中选择的行
import java.awt.Button;

@FXML
private Button btnChange;

你能看出问题所在吗?