首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JDialog在全屏模式下不显示

JDialog在全屏模式下不显示
EN

Stack Overflow用户
提问于 2009-11-12 15:15:15
回答 4查看 6.7K关注 0票数 2

我有一个应用程序运行在全屏模式,并一直工作良好。现在我需要添加一个简单的,未修饰的对话框,我遇到了麻烦。如果我运行应用程序最大化了,但没有在全屏上运行,对话框将显示并按预期运行。当我切换回全屏时,对话框将不会显示。

该对话框扩展了JDialog,并且只包含一个JSlider和几个按钮。它是未装饰和非模态。(为了测试目的,我禁用了模式--每次对话框阻塞输入时,强制退出应用程序都是一种痛苦。)我使用setFullScreenWindow()进入全屏模式,传入应用程序的主JFrame。如果我将这个非常JFrame设置为JDialog的所有者,那就没有什么区别了。如果我在对话框上调用toFront(),似乎也没有帮助。

这个对话框看起来很活跃--特别是因为如果我把它变成模式的话,它会阻塞输入--只是没有显示或隐藏而已。那么,在全屏模式下显示JDialog有什么明显的窍门吗?可能忽略或忽略了什么吗?

如果没有明显的解决方案,我可以稍后发布一些代码。不幸的是,我现在没有时间。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-11-13 21:38:03

事实上,正如M1EK在他的回答中提到的,我在评论中提到,在全屏模式下的Java应用程序将不允许其他窗口显示在它们上面。用于GraphicsDevice的Javadoc的内容如下:

窗口不能重叠全屏窗口.所有其他应用程序窗口将始终出现在Z顺序的全屏窗口下面.

最后,我重新配置了我的应用程序,以便它直到稍后才进入全屏模式。这仍然在一开始就给了我一个相当好的类演示,并允许我的JDialog按其应有的方式工作。转换到全屏模式是快速和顺利的,甚至在我的应用程序的“中间”。

票数 2
EN

Stack Overflow用户

发布于 2010-09-21 20:12:59

JOptionPane.showInternalXXXDialog()方法将对话框呈现为JInternalFrames。也许您可以考虑使用JIternaFrame来模拟对话框。

票数 5
EN

Stack Overflow用户

发布于 2009-11-12 16:16:17

你真的希望这个应用程序处于全屏模式吗?这是一个更多的游戏功能-为了获得更多的直接访问帧缓冲区,我一直认为。你读过本教程吗:

http://java.sun.com/docs/books/tutorial/extra/fullscreen/index.html

在我看来,对于带有子窗口的Swing应用程序来说,真的不是最好的选择。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1722922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档