【问题标题】:handling Command+H programmatically in Mac OS在 Mac OS 中以编程方式处理 Command+H
【发布时间】:2019-03-08 18:15:59
【问题描述】:

我有一个已移植到 Mac 的 JavaFX 应用程序。当前台 Command+H 中的应用程序假设隐藏应用程序时,但对于我移植的应用程序,它会在新的弹出窗口中显示版本详细信息。

我想检查我的程序是否应该处理 Command+H 然后隐藏应用程序,还是应该由操作系统处理。

【问题讨论】:

  • 我没有使用 Java 的经验,但在标准 AppKit 中,隐藏应用程序的功能是通过将 hide: 消息发送到共享的 NSApplication 对象来实现的。
  • 默认情况下,java 菜单中的 ⌘H(隐藏应用程序)和 ⌥⌘H(隐藏其他应用程序)都应为您自动处理; ⇧⌘?是应用程序帮助的常见替代方法。

标签: java macos javafx


【解决方案1】:

在macOS上,通过以下方式解决。

//
// Disable default popup window.
//
Desktop.getDesktop().setAboutHandler(null);

//
// Hides the stage when Command + H is pressed.
//
scene.getAccelerators().put(
    new KeyCodeCombination(KeyCode.H, KeyCombination.META_DOWN), () -> {
        primaryStage.setIconified(true);
    }
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-22
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多