我想知道JavaFX图像构造函数的相对路径解析算法是做什么的:
如果算法可能会在多个位置进行查找,我想知道上述每个部署场景的位置是什么。
如果独立应用程序的行为与将应用程序放在jar中时的行为不同,我也想知道这一点。
发布于 2012-05-14 06:09:10
然后用户提供new Image(String url)
的相对路径,它将与应用程序的工作目录(又称System.getProperty("user.dir")
)相对
javaws myfxapp.jnlp
)运行的它的工作方式与独立应用程序因此,总体方向是:对于独立的应用程序,使用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。
发布于 2012-05-14 23:04:27
如果您使用的是getClass().getResourceAsStream()
,即jar文件的根目录(在其内部),则答案是"/“。不是user.dir,也不是包的宿主位置
发布于 2015-06-10 20:33:30
getClass().getName().toString()
文件相关的类文件(类.java的名称),必须复制并粘贴您的图像thereImage image=new Image(getClass().getResourceAsStream("yourImageName.jpg"));
。在NetBeans中,类所在的目录NetBeansProjects/JavaFXProjectName/build/classes/packageName/
https://stackoverflow.com/questions/10575410
复制相似问题