Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何侦听java.awt.Window屏幕中的更改?在使用setFullScreenWindow()时,是否有办法将焦点放在其他窗口/程序上?_Java_Window_Awt_Listener_Fullscreen - Fatal编程技术网

如何侦听java.awt.Window屏幕中的更改?在使用setFullScreenWindow()时,是否有办法将焦点放在其他窗口/程序上?

如何侦听java.awt.Window屏幕中的更改?在使用setFullScreenWindow()时,是否有办法将焦点放在其他窗口/程序上?,java,window,awt,listener,fullscreen,Java,Window,Awt,Listener,Fullscreen,我有一个像这样的全屏幕窗口 GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice[] gs = ge.getScreenDevices(); if (gs.length >= 1) gs[1].setFullScreenWindow(frame); else gs[0].setFullScreenWindow(frame); 这会将帧放在第二个

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

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice[] gs = ge.getScreenDevices();
if (gs.length >= 1)
    gs[1].setFullScreenWindow(frame);
else 
    gs[0].setFullScreenWindow(frame);
这会将帧放在第二个监视器上,除非没有第二个监视器,否则会将窗口放在主监视器上

现在我的问题是,我似乎找不到办法将窗口推到后面,迫使它将焦点转移到窗口前面的其他窗口、对话框,甚至像Google Chrome这样的东西——如果用户启动程序时没有插入辅助监视器,或者如果辅助监视器被拔出,这可能会成为一个问题(在这两种情况下,全屏窗口都会显示在主显示屏上)

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

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

你真的只是想最大化窗口吗?在这种情况下,你应该使用并传递它
Frame.MAXIMIZED\u这两个


您可能还想了解一下

SetFillScreen是一种用于将程序设置为“全屏独占模式”的方法,这意味着,您的应用程序对屏幕具有独占控制权,不应呈现其他程序。您实际上只是想最大化窗口吗?在这种情况下,您应该使用并传递它帧。最大化\u BOTHI可以尝试,但如何将帧发送到次屏幕?还将设置为未装饰()具有与全屏相同的概念(即没有任何边界等的清晰框架)?从记忆中,我过去所做的是抓住我想要使用的屏幕边界,并将窗口定位在场景左上角(或屏幕边界内)。我们将框架设置为未修饰将移除框架边界