如何在Mac上以编程方式缩放JFrame窗口?

时间:2013-11-27 04:48:19

标签: java macos swing zoom maximize

我正在为我的Java应用程序(如果使用OS X)的菜单栏添加一个菜单项,标题为Zoom(aka expand,maximize)。点击它后,它应该触发绿色变焦红绿灯按钮。我想出了如何以编程方式进入全屏并最小化到Dock(setState(Frame.ICONIFIED);),但我还没有找到一种方法来启动缩放。谢谢!

screenshot

1 个答案:

答案 0 :(得分:1)

感谢vandale,如果其他人偶然发现这个问题,这就是答案:

使用setExtendedState(Frame.MAXIMIZED_BOTH);启动缩放。

但是要意识到这不是切换,所以再次点击它不会像其他Mac应用程序一样解开。以下是使其成为切换的必要代码:

if (yourFrame.getExtendedState() != 6)
    setExtendedState(Frame.MAXIMIZED_BOTH);
else
    setExtendedState(Frame.NORMAL);

Zoomed模式为状态6,normal为0。