ImageView不在JavaFX中加载图像

ImageView不在JavaFX中加载图像,java,javafx,imageview,Java,Javafx,Imageview,这是一个使用JavaFX显示图像的简单代码。然而,我的映像根本无法加载,即使我已经运行了构建和清理代码 public void start(Stage primaryStage){ Image image = new Image("file: images/knives.jpg"); System.out.println("Is loaded: " + image.isError()); //Add image to pane HBox pane = new

这是一个使用JavaFX显示图像的简单代码。然而,我的映像根本无法加载,即使我已经运行了构建和清理代码

 public void start(Stage primaryStage){
    Image image = new Image("file: images/knives.jpg");
    System.out.println("Is loaded: " + image.isError());

    //Add image to pane
    HBox pane = new HBox(10);
    pane.getChildren().add(new ImageView(image));

    //Add pane to scene
    Scene scene = new Scene(pane);

    //Add things to stage
    primaryStage.setTitle("Test");
    primaryStage.setScene(scene);
    primaryStage.show();
}
在src下的中创建图像文件夹。像

reegan@toad:~/NetBeansProjects/ImageLoaded/src$ ls
imageloaded  images
reegan@toad:~/NetBeansProjects/ImageLoaded/src/imageloaded$ ls
ImageLoaded.java
reegan@toad:~/NetBeansProjects/ImageLoaded/src/images$ ls
Javafx_logo_color.png
除您在文件中使用的以外:

Image image = new Image("file:///home/reegan/NetBeansProjects/ImageLoaded/src/images/Javafx_logo_color.png");
试试这个:

使用System.GetPropertyUser.dir获取应用程序位置

附加图像文件的位置,例如image.gif。假设image.gif位于src/sample/images包中,那么下面的代码应该可以工作

字符串appMain=System.getPropertyuser.dir

System.out.printlnappMain

Image Image=newimagefile:+appMain+/src/sample/images/Image.gif

ImageView ImageView=新的ImageViewimage


在我的特殊情况下,图像就在那里——在我使用NetBeans 8.2的SceneBuilder中,但运行时的应用程序没有显示它们。我的情况下的解决方案?在SceneBuilder中,切换到图像位置旁边的绝对路径。

image image=new image/images/tooks.jpg;除了给予完整路径外file:///home/reegan/temp/serialObservable/trunk/src/main/java/main/2-user-group-icon.pngref 谢谢你的回复。然而,它似乎对我不起作用,我把图像文件夹放在src下。我有另一个应用程序,它可以很好地处理不在src下的images文件夹。
Image image = new Image("file:///home/reegan/NetBeansProjects/ImageLoaded/src/images/Javafx_logo_color.png");