【问题标题】:JavaFX 8 - Application Icon will only sometimes appearJavaFX 8 - 应用程序图标只会偶尔出现
【发布时间】:2015-05-28 19:31:23
【问题描述】:

我正在使用stage.getIcons().add(new Image("path")) 添加我的应用程序图标,该图标有时会出现,所以我知道程序可以找到资源并且我正在调用正确的方法,但图标不会每次都出现。从this question 可以看出,这可能是因为swing(我相信JavaFX 使用它)在单独的线程中加载图像。如果这是问题所在,如何确保在调用 stage.show() 之前完成加载和添加图标?如果这不是问题,这里发生了什么,我做错了什么?我正在使用 JRuby,因此如果适用,您的答案可以包含 Ruby 库。纯 Java 的答案也可以。

【问题讨论】:

  • 通过在我的启动方法中添加图标的第一行,我能够让它一直工作。这大概是因为我在stage.getIcons().addstage.show() 之间有足够的方法来为图像加载提供时间。它不是真正的解决方案。
  • 这个问题有一些不正确的假设。 JavaFX 8 不使用 Swing。 JavaFX 图像是同步加载的,而不是异步加载的(除非您明确设置 background loading flag in the Image constructor - 您不这样做)。我无法使用纯 Java 应用程序重现您的问题。

标签: java javafx jruby javafx-8 jrubyfx


【解决方案1】:

您好,我认为加载图像的程序进程在您显示之前没有完成加载。您可以在添加图标后添加wait() 函数。或者您可以在您的 add(new Image("pokemon.png")) 和您的 primaryStage.show() 之间执行另一个函数,这将确保您的图像加载将在您展示舞台之前完成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    • 1970-01-01
    • 2012-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-25
    相关资源
    最近更新 更多