1

我有一个 Java 应用程序,它被部署为 Mac OS X 上的应用程序包。我修改了 info.plist 以注册我可以处理的文件类型,并使用 eAWT 来注册各种侦听器 ( AppForegroundListener, AppReOpenedListener, OpenFilesHandler, OpenURIHandler, AppHiddenListener)。

我的应用程序应按以下方式工作:

  • 如果通过单击应用程序启动“新建文档向导”,则会引导用户创建新文档。
  • 如果用户单击文档并使用“打开方式”,我的应用程序应该打开该文档而不是执行向导操作。

我的问题:

如何确定我的应用程序是通过单击文档还是应用程序启动的?

  • args[]main(String[] args)无论应用程序如何启动,from始终为空
  • 如果应用程序是通过单击文档启动的,则会调用我的侦听器。如果它是直接启动的,似乎不会调用任何事件 - 除非我弹出一些 GUI,否则应用程序将终止。
  • 我可以使用不推荐使用的方法addApplicationListener。在这种情况下,我会收到一个应用程序打开事件,但该事件在任何一种情况下都会在打开文件事件之前传递,因此也没有帮助。
4

0 回答 0