Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Mac上以编程方式缩放JFrame窗口?_Java_Macos_Swing_Zooming_Maximize - Fatal编程技术网

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

Java 如何在Mac上以编程方式缩放JFrame窗口?,java,macos,swing,zooming,maximize,Java,Macos,Swing,Zooming,Maximize,我正在为我的Java应用程序(如果使用OSX)的菜单栏添加一个名为Zoom(又名expand,maximize)的菜单项。单击该按钮后,它将触发绿色的“缩放红灯”按钮。我想出了如何通过编程进入全屏并最小化到Dock(setState(Frame.ICONIFIED);),但我还没有找到启动缩放的方法。谢谢 多亏了vandale,如果其他人偶然发现了这个问题,下面是答案: 使用setExtendedState(Frame.MAXIMIZED\u两者)以启动缩放 但要意识到这不是一个切换,所以再次单

我正在为我的Java应用程序(如果使用OSX)的菜单栏添加一个名为Zoom(又名expand,maximize)的菜单项。单击该按钮后,它将触发绿色的“缩放红灯”按钮。我想出了如何通过编程进入全屏并最小化到Dock(
setState(Frame.ICONIFIED);
),但我还没有找到启动缩放的方法。谢谢


多亏了vandale,如果其他人偶然发现了这个问题,下面是答案:

使用
setExtendedState(Frame.MAXIMIZED\u两者)以启动缩放

但要意识到这不是一个切换,所以再次单击它不会像其他Mac应用程序那样取消缩放。以下是使其成为切换的必要代码:

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

缩放模式为状态6,正常模式为0。

多亏了vandale,如果其他人偶然发现这个问题,以下是答案:

使用
setExtendedState(Frame.MAXIMIZED\u两者)以启动缩放

但要意识到这不是一个切换,所以再次单击它不会像其他Mac应用程序那样取消缩放。以下是使其成为切换的必要代码:

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

缩放模式为状态6,正常模式为0。

setExtendedState(Frame.MAXIMIZED\u两者)setExtendedState(Frame.MAXIMIZED\u两者)