Image构造函数的差异

时间:2017-06-06 20:19:45

标签: java javafx inputstream

在JavaFX 8中,使用InputStream构造函数加载Image并使用url构造函数加载Image之间有什么区别。

如果我使用

private Image getImage(String s){
    return new Image(getClass().getResourceAsStream("/fruit/" +s+".png"));
}

它是否与

完全相同
private Image getImage(String s){
    return new Image("/fruit/" +s+".png");
}

首先,我认为后者在我将其编译为jar时会起作用,但确实如此 Here是图片API的链接。

1 个答案:

答案 0 :(得分:2)

在我看来,最大的区别在于系统将搜索文件的位置。如果将项目导出到可执行的JAR文件中,您会注意到Image(InputStream)将允许您在JAR文件中进行搜索,而Image(String)只允许您在JAR文件外部进行搜索。