如何侦听java.awt.Window屏幕中的变化?是否有一种方法给焦点到其他窗口/程序,同时使用setFullScre



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

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

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

现在我的问题是,我似乎找不到一种方法来把窗口推到后面,迫使它失去焦点到其他窗口,对话框,甚至事情,如谷歌Chrome去在窗口前面-这可能是一个问题,如果用户启动程序没有插入辅助显示器或如果辅助显示器拔掉(在这两种情况下,全屏窗口结束在主显示器上)

是否有一种方法可以让其他窗口,JFrames或任何需要的焦点在窗口上方?或者有某种类型的监听器,我不知道这将允许我处置全屏窗口的事件,它被移动到主显示(我已经尝试实现ComponentListener类扩展窗口)?

setFillScreen是一个用于将程序设置为"全屏独占模式"的方法,也就是说,您的应用程序对屏幕具有独占控制,并且不应该呈现其他程序。

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

您可能还想查看setUndecorated

最新更新