我写了一个Java程序,并让用户使用Mac的全屏功能,我想知道程序是否处于全屏状态。问题在于,我不知道如何检测用户何时使程序全屏,因为他们是通过点击不属于我的程序的按钮来实现的。有没有办法检测我的程序是否处于全屏状态?
如果我表述不够清楚,这里有一个全屏按钮的示例。
如果我表述不够清楚,这里有一个全屏按钮的示例。
假设您正在使用JFrame,请让它实现com.apple.eawt.FullScreenListener
。这样,您就可以访问以下方法:
@Override
public void windowEnteringFullScreen(AppEvent.FullScreenEvent fse) {
}
@Override
public void windowEnteredFullScreen(AppEvent.FullScreenEvent fse) {
}
@Override
public void windowExitingFullScreen(AppEvent.FullScreenEvent fse) {
}
@Override
public void windowExitedFullScreen(AppEvent.FullScreenEvent fse) {
}
您可以按照tincopper2所说的方式进行类似的操作;根据窗口是否正在打开或关闭将布尔值设置为true/false。
来源:对此问题的正确答案的评论。
嗯,有一件事情可能是最简单的事情,那就是使其全屏或不调用一个将全局动态变量更改为true或false的函数,命名为"fullscreen"之类的东西,然后只需检查它是否全屏,您可以返回变量定义的响应。
WindowStateListener
并检查触发的WindowEvent
的getOldState()
和getNewState()
吗?虽然看起来这种方法不太可能奏效,因为 OS X 没有使用扩展框架状态,但还是值得一试的。 - FThompson