OSX Lion上的Java Apps全屏功能

gam*_*mma 20 java macos fullscreen osx-lion

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

目前给出的答案包含了实现全屏排序功能的好方法.我已经读过Eclipse可能能够使用Lion的"原生"全屏功能.这就是我要问的问题.

Dyo*_*gio 28

我在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上不执行任何操作.

更明确地说,尝试从你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);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • @mostruash:是的,您可以将侦听器附加到窗口以查看它是否已进入或退出全屏模式。请参阅[com.apple.eawt.FullScreenUtilities中的静态方法](http://cr.openjdk.java.net/~michaelm/7113349/jdk8/webrev.2/jdk/src/macosx/classes/com/apple/ eawt/FullScreenUtilities.java.html) 和 [com.apple.eawt.FullScreenListener 的定义](http://cr.openjdk.java.net/~michaelm/7113349/jdk8/webrev.2/jdk/src/macosx /classes/com/apple/eawt/FullScreenListener.java.html)。 (2认同)

chu*_*ubs 6

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

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

问题是Apple是否在他们的JDK中实现了Lion.