0

我有一个像这样制作的全屏窗口

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice[] gs = ge.getScreenDevices();
if (gs.length >= 1)
    gs[1].setFullScreenWindow(frame);
else 
    gs[0].setFullScreenWindow(frame);

这会将框架放在第二个监视器上,除非没有第二个监视器,在这种情况下,它将窗口放在主监视器上

现在我的问题是我似乎无法找到一种方法将窗口推到后面并迫使它失去对其他窗口、对话框甚至诸如谷歌浏览器之类的东西的关注——这可能如果用户在没有插入辅助显示器的情况下启动程序或拔下辅助显示器(在这两种情况下,全屏窗口最终出现在主显示器上),则会出现问题

有没有办法让其他窗口、JFrames 或任何需要的焦点在窗口上方?或者是否有某种我不知道的侦听器允许我在全屏窗口移动到主显示器时处理它(我已经尝试在扩展 Window 的类中实现 ComponentListener)?

4

1 回答 1

1

setFillScreen是一种用于将您的程序设置为“全屏独占模式”的方法,这意味着您的应用程序对屏幕具有独占控制权,不应渲染其他程序。

您实际上只是想最大化窗口吗?在这种情况下,您应该使用Frame#setExtendedState并传递它Frame.MAXIMIZED_BOTH

你可能还想看看setUndecorated

于 2013-05-21T10:22:49.843 回答