如何有一个 JFrame 最大化图标

2022-01-24 00:00:00 java swing jframe

如何在 Mac 上的 eclipse 中创建一个 JFrame 窗口,该窗口有一个使窗口全屏显示的图标,就像大多数窗口右上角的双箭头图标一样??

How do i create a JFrame window in eclipse on a Mac that has an icon that makes the window full screen like the double arrow icon on most windows at the top right??

推荐答案

看看

  • OSX Lion 上 Java 应用的全屏功能
  • 和 Java 运行时系统属性,可能感兴趣
  • 或 如何在 Java 中进行全屏显示在 OSX 上 如果这些是您想要的错误功能
  • Fullscreen feature for Java Apps on OSX Lion
  • And Java Runtime System Properties, which may be of interested
  • or How can I do full screen in Java on OSX if those were the wrong feature you wanted

更新

幸运的是 JFrame 通过 Frame...

Lucky for you JFrame extends Window via Frame...

public class TestMacFullScreen {

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {

            @Override
            public void run() {

                JFrame frame = new JFrame("Test");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setSize(200, 200);
                frame.setLocationRelativeTo(null);
                frame.setLayout(new BorderLayout());

                JLabel label = new JLabel("Look ma, no hands");

                frame.add(label);

                enableOSXFullscreen(frame);

                frame.setVisible(true);


            }
        });
    }

    public static void enableOSXFullscreen(Window 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 exp) {
            exp.printStackTrace();
        } catch (Exception exp) {
            exp.printStackTrace();
        }
    }
}

相关文章