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

标签 java macos swing zooming maximize

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

screenshot

最佳答案

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

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

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

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

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

关于java - 如何在 Mac 上以编程方式缩放 JFrame 窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20234131/

相关文章:

java - 限制 Spring Webservice 并发调用

Java 堆空间(Eclipse 和 GGTS)

java - 关于在屏幕上放置矩形

Swift-4 MacOS 检测鼠标滚轮在 NSTextField 上滚动?

java - java中通过复制方法缩放图像

java - 如何使两个文本字段和一个 JCombobox 具有与登录中一样的条件

java - Maven bundle plugin - 如何添加主类

java - StringIndexOutOfBound 异常

java - Android Eclipse findViewByID 与以编程方式 CheckBox

objective-c - 使用 NSNumberFormatter 时无法输入正数?