Image.Image(“fler.png”)在哪里查找fler.png?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (29)

我想知道JavaFX图像构造函数的相对路径解析算法用于:

  1. 独立应用程序。
  2. 浏览器部署的应用程序。
  3. Webstart部署了应用程序。

如果算法可能在多个位置上查找,我想知道它们对于上述每个部署场景是什么。

提问于
用户回答回答于

那么用户提供的相对路径new Image(String url)将与应用程序的工作目录相对System.getProperty("user.dir")

  1. 对于独立应用程序,它是您从中启动应用程序的文件夹
  2. 对于从命令行(javaws myfxapp.jnlp)运行的web-start应用程序,其工作方式与独立应用程序相同
  3. 对于从浏览器加载的插件启动或webstart应用程序,无法可靠地确定workdir的位置。这取决于浏览器,甚至是该浏览器的安装插件。

所以一般的方向是:独立的应用程序使用url相同的方式,你会用它new File(String url)。对于jnlp /插件使用完整的URL与协议或Class.getResource()方法。

用户回答回答于

如果你正在使用的话getClass().getResourceAsStream(),答案是“/” ,即你的jar文件的根目录(在它里面)。不是user.dir,也不包含该软件包的托管位置

扫码关注云+社区