首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >javafx.scene.image.Image("flower.png")在哪里寻找flower.png?

javafx.scene.image.Image("flower.png")在哪里寻找flower.png?
EN

Stack Overflow用户
提问于 2012-05-14 05:30:11
回答 3查看 11.6K关注 0票数 19

我想知道JavaFX图像构造函数的相对路径解析算法是做什么的:

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

如果算法可能会在多个位置进行查找,我想知道上述每个部署场景的位置是什么。

如果独立应用程序的行为与将应用程序放在jar中时的行为不同,我也想知道这一点。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-14 06:09:10

然后用户提供new Image(String url)的相对路径,它将与应用程序的工作目录(又称System.getProperty("user.dir") )相对

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

因此,总体方向是:对于独立的应用程序,使用url的方式与在new File(String url)中使用它的方式相同。对于jnlp/plugin,使用带有协议或Class.getResource()方法的完整url。

更新:请注意,这一行为将在2.2中得到澄清和更改。请参阅http://javafx-jira.kenai.com/browse/RT-18291

下面的评论来自RT-18291,概述了2.2的预期变化:

Martin Sladecek添加了一条评论- 2012年5月15日上午10:53在与Richard Bair讨论后,我们决定更改当前路径的(未记录的)行为。目前,它们被视为user.dir相对对象。所有路径,无论有没有前导斜杠,现在都将被解析为相对于类路径,这将与CSS一致,并且更符合用户的期望。对于文件相对路径,仍然可以使用“user.dir:”URL。

票数 14
EN

Stack Overflow用户

发布于 2012-05-14 23:04:27

如果您使用的是getClass().getResourceAsStream(),即jar文件的根目录(在其内部),则答案是"/“。不是user.dir,也不是包的宿主位置

票数 2
EN

Stack Overflow用户

发布于 2015-06-10 20:33:30

  1. 搜索目录,其中存在与您的getClass().getName().toString()文件相关的类文件(类.java的名称),必须复制并粘贴您的图像there
  2. Image image=new Image(getClass().getResourceAsStream("yourImageName.jpg"));

在NetBeans中,类所在的目录NetBeansProjects/JavaFXProjectName/build/classes/packageName/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10575410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档