当前位置: 首页 > 面试题库 >

JDialog在全屏模式下不显示

张勇
2023-03-14
问题内容

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

该对话框扩展了JDialog,仅包含一个JSlider和几个按钮。它是未经装饰的, 不是模态的 。(我出于测试目的禁用了模式-
每次对话框阻止输入时强制退出应用程序都是一种痛苦。)我正在使用进入全屏模式setFullScreenWindow(),并传入应用程序的主JFrame。如果我将该JFrame设置为JDialog的所有者,则没有任何区别。如果我调用toFront()该对话框,也似乎无济于事。

该对话框似乎处于活动状态-尤其是因为如果我将其设置为模态,它将阻止输入-但只是不显示或隐藏。因此,
在全屏模式下显示JDialog是否有任何明显的技巧? 我可能忽略或遗漏了什么?

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


问题答案:

实际上,正如M1EK在他的回答中提到的,我在评论中提到的那样,处于全屏模式的Java应用程序将不允许其他窗口显示在它们上面。用于GraphicsDevice的Javadoc
API
读取:

Windows不能与全屏窗口重叠。所有其他应用程序窗口将始终以Z顺序显示在全屏窗口下方。

最后,我重新配置了我的应用程序,以便稍后再进入全屏模式。在开始时,这仍然为我提供了相当不错的演示,并且允许我的JDialog正常运行。即使在我的应用程序的“中间”,也可以快速,平稳地过渡到全屏模式。



 类似资料:
  • 编辑模型时使用整个屏幕。正常显示在 Navicat Data Modeler 应用程序的菜单和标题栏在这个模式时将会隐藏。移动你的滑鼠光标到屏幕的顶部,菜单和标题栏将会自动显示。 从菜单栏选择“查看”->“进入全屏幕”或简单地按 CTRL-COMMAND-F 来开始全屏模式。 当取消了全屏模式,Navicat Data Modeler 窗口将回复至之前的狀态。

  • 编辑模型时使用整个屏幕。正常显示在 Navicat Data Modeler 应用程序的标题栏在这个模式时将会隐藏。 从菜单栏选择“查看”->“全屏”或简单地按 F11 来开始全屏模式。 当取消了全屏模式,Navicat Data Modeler 窗口将回复至之前的状态。

  • 我对JavaFX有问题。我创建了两个场景和开关按钮。当我点击那个按钮时,我正在改变场景。但之前我将fullscreen设置为true,按下按钮后,windows任务栏会显示片刻。有没有什么方法可以改变场景而不让这个任务栏可见呢?下面是代码: -----main class---- ----DesktopApplication类---- ----MyLayout类----

  • 我希望JOptionPane出现在非模态对话框上面。例如,在下面的应用程序中,请按< code>JDialog按钮以显示无模式对话框,然后按< code>JOptionPane按钮以显示JOptionPane确认对话框。不幸的是,JOptionPane出现在非模态对话框下。 在我的真实应用中,我有几个非模态的JDialogs,我从几个不同的地方使用JOptionPane。 如何轻松地让JOptio

  • 全屏模式        点击全屏模式,进入全屏查看状态        点击退出全屏按钮或按“ESC”键,退出全屏模式

  • 本文向大家介绍如何在IOS下启用WebApp全屏模式?相关面试题,主要包含被问及如何在IOS下启用WebApp全屏模式?时的应答技巧和注意事项,需要的朋友参考一下 手机端打开Web检查器,Mac端接入手机,打开Safari开发模式。 设置标签: 然后将网站添加到主屏幕,点击将以全屏模式启动。