JavaFX(Windows):未修改的窗口未经最小化时未经更新

时间:2017-02-23 00:57:34

标签: java windows javafx javafx-8 jna

我制作了一个未修饰的窗口,我使用this answer作为参考,以便在用户点击任务栏图标时使其最小化。我主要在答案中使用了“最简单”的版本,并且它正在运行。

最近,我发现了一个问题;虽然我可以通过单击任务栏图标来最小化/取消最小化窗口,但是当窗口未最小化时iconifiedProperty不会更改其值 - 舞台需要接收另一个布局更改(例如{{1 }})以便setMaximized(true)转换为iconifiedProperty州。

我需要检测这个更改,因为我在使窗口最大化时也不会全屏显示(请参阅此bug,它包含一个临时解决方法)。同样,我可以使最大化窗口的大小占据屏幕的完整视觉边界,但是当最大化窗口最小化并随后未最小化时,窗口将恢复为覆盖任务栏(全屏)。

任何帮助都将不胜感激。

修改

有关问题的更新。我刚刚意识到false只有在窗口处于最大化状态时才会改变。

  1. 窗口处于最大化状态。
  2. 窗口最小化(无论是通过iconifiedProperty还是点击任务栏图标)。
  3. 单击任务栏图标,窗口未最小化。
  4. 这会导致setIconified(true)在步骤2中转移到iconifiedProperty,并且不会在步骤3中返回true。此后,重复步骤2和3将不会导致改变这个属性。

    但是,如果窗口未处于最大化状态,则不会发生此问题。

    编辑2

    进一步测试显示它与未修饰无关 - 即使在正常的最大化窗口上也不会发生图标化的属性更改。

0 个答案:

没有答案