小编典典

OSX Lion上Java应用程序的全屏功能

java

如何(本机)在Java应用程序中实现OSX Lion的全屏功能?

给出的当前答案采用了一种很好的方法来实现某种全屏功能。我读过Eclipse也许可以使用Lion的“本机”全屏功能。这就是我要问的。


阅读 332

收藏
2020-09-16

共1个答案

小编典典

我在Apple的Java发行说明中发现了这一点:

Mac OS X 10.7 Lion全屏支持

Lion上的Java应用程序现在可以按窗口选择“全屏”窗口功能。开发人员可以使用
com.apple.eawt.FullScreenUtilities 类将窗口标记为可以全屏显示,并可以使用
com.apple.eawt.Application.requestToggleFullScreen(Window)
方法以编程方式请求窗口进入和退出全屏模式。该API在Mac OS X 10.6 Snow Leopard上不起作用。

更明确地说,尝试从您的JFrames 的构造函数中尽早调用此方法。

/**
 * @param window
 */
@SuppressWarnings({"unchecked", "rawtypes"})
public static void enableOSXFullscreen(Window window) {
    Preconditions.checkNotNull(window);
    try {
        Class util = Class.forName("com.apple.eawt.FullScreenUtilities");
        Class params[] = new Class[]{Window.class, Boolean.TYPE};
        Method method = util.getMethod("setWindowCanFullScreen", params);
        method.invoke(util, window, true);
    } catch (ClassNotFoundException e1) {
    } catch (Exception e) {
        log.log(Level.WARNING, "OS X Fullscreen FAIL", e);
    }
}
2020-09-16