【问题标题】:JavaFX load image from external folderJavaFX 从外部文件夹加载图像
【发布时间】:2015-08-21 10:49:09
【问题描述】:

在将图像导入我的 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;"));

【问题讨论】:

    标签: java image javafx path directory


    【解决方案1】:

    如果文件将在文件系统上,而不是作为 jar 文件的一部分,则第一个代码块是执行此操作的正确方法。在这种情况下,imagePath 应该是文件的绝对文件系统路径。您可以检查文件是否存在

    System.out.println(file.exists());
    

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

    【讨论】:

      猜你喜欢
      • 2016-09-03
      • 1970-01-01
      • 1970-01-01
      • 2019-02-16
      • 2017-12-04
      • 1970-01-01
      • 2021-01-16
      • 1970-01-01
      • 2012-07-28
      相关资源
      最近更新 更多