如何在JavaFX 2中为未装饰的舞台提供高级窗口管理器服务?

3
出于美观和可用性的原因,我的程序使用了一个没有装饰的Stage。我已经实现了核心功能-最小化、最大化、关闭、调整大小和拖动都已经存在。
现在,我发现该程序缺少一些我认为理所当然的高级功能:
在Windows XP系统上,单击任务栏中的程序条目不再将其最小化。
在KDE系统上,拖动不允许任何部分的Stage离开屏幕。
每个功能在相应的其他系统上都存在;当舞台有装饰时,两个系统上的所有功能都能正常工作。
我想知道是否可以在不恢复装饰舞台的情况下重新创建这种行为。Stage API似乎没有提供任何有用的东西。

KDE系统?JavaFX在Linux上能用吗? - ceklock
当然可以。支持三大主流操作系统。 - Urs Reupke
尝试更新到最新版本的JavaFX,看看是否有任何变化。 - ceklock
1个回答

0
一个解决此问题的方法可能是创建一个已装饰的舞台作为未装饰舞台的父级。将已装饰的舞台定位在未装饰的舞台后面,使其隐藏。这样,诸如单击任务栏中程序入口之类的功能应该可以正常工作(希望这种修改不会引起其他难以克服的问题)。你需要监听窗口的可见和隐藏状态,以及跟踪它们的大小,以便正确维护未装饰窗口和隐藏装饰窗口之间的关系。你可以请求官方API,这些API能更直接地提供你所需的功能,请访问http://javafx-jira.kenai.com

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接