【发布时间】:2023-03-10 09:09:01
【问题描述】:
我有一个以全屏模式运行的应用程序,并且一直运行良好。现在我需要添加一个简单的、未装饰的对话框,但我遇到了麻烦。如果我运行应用程序最大化但不是全屏,对话框会按预期显示和运行。当我切换回全屏时,对话框不会显示。
对话框扩展了 JDialog 并且只包含一个 JSlider 和几个按钮。它是未装饰的并且不是模态的。 (出于测试目的,我禁用了模式——每次对话框阻止输入时强制退出应用程序很痛苦。)我正在使用 setFullScreenWindow() 进入全屏模式,并传入应用程序的主 JFrame。如果我将那个 JFrame 设置为 JDialog 的所有者,这没有什么区别。如果我在对话框中调用toFront() 似乎也无济于事。
对话框似乎处于活动状态——尤其是因为如果我将其设为模态,它会阻止输入——但只是没有显示或隐藏。那么,在全屏模式下显示 JDialog 有什么明显的技巧吗?我可能会忽略或遗漏什么?
如果没有明显的解决方案,我可以稍后发布一些代码。很遗憾,我现在没有时间。
【问题讨论】:
-
哦哦。这对我来说不是个好兆头:“Windows 不能与全屏窗口重叠。所有其他应用程序窗口将始终按 Z 顺序显示在全屏窗口下方。”来自 GraphicsDevice 的 API:java.sun.com/j2se/1.4.2/docs/api/java/awt/…
标签: java swing fullscreen jdialog