JavaFX从外部文件夹

时间:2015-06-06 14:59:04

标签: java image javafx path directory

我需要一些帮助才能将图像导入我的JavaFx应用程序:

我的图片有路径:/sprinter/ExternalSprinterFolder/Maps/map_asteroid/map_asteroid.jpg

我的GUI代码有以下路径: /sprinter/src/de/sprinter/gameclient/gui/SelectSectorGui.java

我已经尝试了很多,但我无法加载图片...... 我试过例如:

File file = new File(imagePath);
Image image = new Image(file.toURI().toString());
ImageView iv = new ImageView(image);

 String image = SelectSectorGui.class.getResource(imagePath).toExternalForm();
 pane.setStyle(("-fx-background-image: url(\" " + image +
                      " \");-fx-background-repeat: no-repeat;"));

1 个答案:

答案 0 :(得分:0)

如果文件位于文件系统上,并且未作为jar文件的一部分捆绑,则第一个代码块是正确的方法。在这种情况下,imagePath应该是文件的绝对文件系统路径。您可以使用

检查文件是否存在
System.out.println(file.exists());

如果图像文件将捆绑在您的jar文件中,则第二个代码块是正确的方法。在这种情况下,imagePath应该与班级相关;以/开头的路径被解释为相对于类路径。如果在这种情况下路径不正确,getResource(...)将返回null