【发布时间】:2015-05-28 19:31:23
【问题描述】:
我正在使用stage.getIcons().add(new Image("path")) 添加我的应用程序图标,该图标有时会出现,所以我知道程序可以找到资源并且我正在调用正确的方法,但图标不会每次都出现。从this question 可以看出,这可能是因为swing(我相信JavaFX 使用它)在单独的线程中加载图像。如果这是问题所在,如何确保在调用 stage.show() 之前完成加载和添加图标?如果这不是问题,这里发生了什么,我做错了什么?我正在使用 JRuby,因此如果适用,您的答案可以包含 Ruby 库。纯 Java 的答案也可以。
【问题讨论】:
-
通过在我的启动方法中添加图标的第一行,我能够让它一直工作。这大概是因为我在
stage.getIcons().add和stage.show()之间有足够的方法来为图像加载提供时间。它不是真正的解决方案。 -
这个问题有一些不正确的假设。 JavaFX 8 不使用 Swing。 JavaFX 图像是同步加载的,而不是异步加载的(除非您明确设置 background loading flag in the Image constructor - 您不这样做)。我无法使用纯 Java 应用程序重现您的问题。
标签: java javafx jruby javafx-8 jrubyfx