我想知道JavaFX Image构造函数的相对路径解析算法是什么:
如果算法可能在多个位置查找,我想知道它们对于上述每个部署方案的用途.
如果应用程序放在jar中时独立应用程序的行为不同,我也想知道.
我一直未能成功尝试使用 fxml 在 JavaFX 应用程序中显示图像。\n我的代码:
\n...\n<ImageView fitHeight="24" fitWidth="24"\n pickOnBounds="true" preserveRatio="true">\n <Image url="@res/icon.png"/>\n</ImageView>\n...\nRun Code Online (Sandbox Code Playgroud)\n\n没有错误,但我的图像没有显示。我认为图像已加载,但未显示。
\n这可能吗?我该如何检查?如果是的话,不应该有错误吗?
事实上,即使我给出了错误的名称,也不会出现运行时错误。那么可能没有加载?
\n我也尝试过加载不同的图像并更改尺寸,但没有任何效果。
\n"/res/icon.png"-> 运行时错误 #1"res/icon.png"-> Lint 错误 + 运行时错误 #1"/../res/icon.png"-> Lint 错误 + 运行时错误 #1"../res/icon.png"-> Lint 错误 + 运行时错误 #1"@/res/icon.png"-> 运行时错误 #2"@res/icon.png"-> Lint 错误(我正在使用的)"@/../res/icon.png"-> Lint 错误 + 运行时错误 #2"@../res/icon.png"-> Lint 错误,无显示运行时错误#1: …
我正在尝试生成一个包含JavaFx gui的项目的可运行jar文件.该项目在eclipse中运行greate但是当我尝试运行jar时:
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
...Caused by: java.lang.NullPointerException: Input stream must not be null
Run Code Online (Sandbox Code Playgroud)
图像的代码如下所示:
private Image image1 = new Image(this.getClass().getResourceAsStream("../pic/classic/image1.png"));
Run Code Online (Sandbox Code Playgroud)
我需要更改什么,以便我可以毫无例外地运行我的jar文件.
谢谢您的帮助.