当前位置: 首页 > 知识库问答 >
问题:

JavaFX阶段-当最大化阶段最小化/恢复时,如何侦听去图标化事件?

莫乐
2023-03-14

将其添加到任何JavaFX应用程序的primaryStage:

primaryStage.iconifiedProperty().addListener(e -> {
    System.out.println("iconified: " + primaryStage.isIconified());
});
  • 最小化阶段。输出为“图标化:true”
  • 恢复舞台。输出为“图标化:假”
  • 将舞台最大化,然后将其最小化。输出为“图标化:true”
  • 现在再次恢复舞台。输出应该是“图标化:false”,但它不会打印任何内容

因此,在去锥化最大化阶段时,不会调用我的图标化属性侦听器。我做错了吗,还是这是JavaFX中的一个bug?我使用的是Java 1.8.0_65以及JFX附带的任何版本。谢谢

共有1个答案

寇景明
2023-03-14

这是JavaFX中的一个bug,它似乎随不同的版本而来。尤其令人恼火的是,一些组件(如WebView)在这种情况下拒绝重新绘制,可能是因为它认为应用程序仍然被最小化,因此不需要重新绘制本身。

根据我自己的观察:

  • jre1.8.0_73:已修复

我目前正在寻找jre1.8的解决方法。0_111这是我们必须使用的(由于121和131中更严重的错误)。

 类似资料:
  • 我在JavaFX应用程序中有一个未修饰的阶段。为了最小化它,我需要一个最小化按钮。我在中创建了我的布局,其中有一个,但是当我尝试使用最小化位于控制器内部的这个按钮时,使用,它找不到阶段。 如何在控制器类中找到对该阶段的引用?

  • 我有一个未装饰的JavaFX舞台,我自己的最小化,最大化 有没有办法通过单击任务栏图标来最小化纯Java代码未修饰的阶段?如果不是的话,我该怎么做,比如说,JNA? 编辑:好的,我一直在尝试用JNA解决这个问题,但由于几乎没有C/C/JNA,我在设置这个方面有点麻烦。如果有人帮我把这些东西拼凑起来,我将不胜感激。。 到目前为止,这是我的代码: 编辑2:我最终在这一点上做得更进一步,但当我重新设置W

  • 问题内容: 我有一个未经修饰的JavaFX Stage,还有我自己的最小化,最大化和关闭按钮。但不幸的是,与经过修饰的行为相比,在Windows 7中单击任务栏图标不会自动最小化该阶段。 通过单击任务栏图标,是否可以通过纯Java代码最小化未修饰的阶段?如果不是,我该如何使用JNA? 编辑: 好的,我一直在尝试使用JNA解决此问题,但是几乎没有C / C ++ / JNA完成,因此设置起来有些麻烦

  • 问题内容: 我刚刚开始我的第二个JavaFX项目,我需要知道何时将a 最大化。在Swing中,这相当简单,可以通过使用WindowListener / Event来完成。但是,在搜索了JavaFX的Javadoc之后,我似乎找不到任何侦听a状态的方法。 有什么办法吗? 问题答案: 要了解是否最小化,可以听财产: 在即将发布的8.0版本中添加了对应的属性: 您可以在此处下载JDK 8(包括FX8)的

  • 我正在学习用JavaFx创建屏幕录制应用程序。我希望用户调整矩形的大小,以决定屏幕捕捉区域。我通过primaryStage使舞台和场景透明。initStyle(StageStyle.TRANSPARENT) 和<代码>场景。设置填充(null) 。我可以调整矩形部分的大小,但问题是当我在舞台内部单击时,它会最小化,因为它是透明的。如何解决这个问题?我看过这个应用程序screencast-o-mat