java - 在 JavaFX 中绕过 Mac 中的命令 Q

标签 java macos javafx

我正在 JavaFx(Mac OS) 中创建一个应用程序,我需要为其处理 Command-Q,这会使应用程序退出。我不希望我的应用程序在 (CMD + Q) 上退出。不幸的是,作为一个操作系统事件,没有 key 处理程序/监听器可以帮助我捕获 Command+Q。

我已经研究并发现了一些关于 Java(而不是 JavaFX)的帖子,这些帖子让我引用了 com.apple.eawt 包,但是如果没有 Swing 支持,这个东西似乎无法工作。我不是使用任何 swing 组件并且不希望在我的 javaFx 应用程序中包含任何 JFXPanel 等。

没有任何方法可以捕获并绕过此 (CMD + Q) 调用并避免我的应用程序退出吗?

最佳答案

没关系,它已经解决了。 实际上,我是在子窗口(Stage)上处理事件,而不是在父 Stage 上处理事件。Command Q 是一个系统级事件,它不会被子窗口捕获,只能被 javaf 应用程序的根 Stage 捕获。

关于java - 在 JavaFX 中绕过 Mac 中的命令 Q,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18311928/

相关文章:

java - 大约 10-20 分钟不活动后,与 mysql 服务器的 JDBC 连接失败

Javah 仍然无法在 OSX/Android Studio 中找到类文件

ios - SwiftUI 访问在 ForEach 循环中创建的 View

Python 'Logger' 模块双重记录

java - ChangeListener 作为私有(private)类

java - 意外的 ArrayStoreException

Java线程调度

java - 单击链接时需要禁用表

JavaFX 不同类型列表的bindContent双向

java - 在 JavaFX 中创建行索引列