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

2022-09-02 09:29:10

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

目前给出的答案包含了实现某种全屏功能的好方法。我读过Eclipse可能能够使用Lion的“原生”全屏功能。这就是我要问的。


答案 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 上不执行任何操作。

更明确地说,尝试尽早从你的 s 的构造函数调用它...JFrame

/**
 * @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);
    }
}

答案 2

我不知道原生,但Java确实支持全屏应用程序,而不需要原生代码:

http://saipullabhotla.blogspot.com/2012/05/enabling-full-screen-mode-for-java.html

问题是苹果是否在他们的JDK中用Lion实现了这一点。