刚刚开始一个新项目,并且已经遇到了一些问题。我正在尝试使用 javafx 显示图像,但编译器提示提供的位置无效。这是到目前为止我的所有代码(除了一些导入):
public class main extends Application{
public static void main(String[] args) {
launch(args);
}
public void start(Stage primaryStage) throws Exception{
Stage stage = primaryStage;
String version = "alpha";
stage.setTitle("Space Invaders v. " + version);
VBox vbox = new VBox();
Image pic = new Image("Art\\whiteMonster.jpg");
ImageView image = new ImageView(pic);
vbox.getChildren().add(image);
Rectangle rect = new Rectangle(20,0,200,200);
rect.setFill(Color.BLACK);
vbox.getChildren().add(rect);
//Creating the scene.
Scene scene = new Scene(vbox);
stage.setScene(scene);
stage.show();
}
}
如果我将文件路径更改为在谷歌图像搜索中找到的图像网址,它将显示添加在其下方的黑色矩形(只是为了测试一切是否正常),但不显示图像。然而,在当前配置中,它只是抛出一个错误,指出 URL 无效或找不到资源。让我认为这应该可行的是这里的示例:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/image/ImageView.html
感谢您的帮助。
PS。我一直在这里查看其他类似的问题,但没有找到任何对我有帮助的东西,如果您觉得需要任何其他信息,请给我留言。-----编辑----- 项目结构、代码和文件管理器,所有图像都直接放在“Art”文件夹中。
我希望这就是您所需要的。
最佳答案
尝试将图像放入文件夹中。将图像拖到“src”并使用Image pic = new Image("whiteMonster.jpg");
。它应该显示在 .java 文件下,但在左侧一点点。
关于JavaFX 找不到图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37098067/