2

我正在为 OSX 编写我的第一个 Java 应用程序。

您可能知道 OSX 中对应用程序的处理与 Windows 略有不同。在 windows 1 JFrame 通常意味着这是应用程序的一个实例,所以如果我想关闭整个应用程序,我只需关闭窗口。

在 OSX 中,windows 和应用程序是两个独立的东西。当您关闭窗口时,应用程序会继续在后台运行。

我想做的事:

  1. 当用户点击 CMD + NI 想要创建我的类应用程序的新实例

有没有类似的最佳实践?当没有活动窗口时,谁必须听 Key-Stroke?实现main的类?

4

1 回答 1

1

在 Windows 和 OSX 上没有理由有这种不同。如果您实现 Windows 所谓的多文档接口 (MDI),它在 OSX 上的工作方式与在 Windows 上的工作方式完全相同。它们看起来会有些不同,但在概念上它们是相同的。在这两种情况下,都有一个菜单栏(应用程序类)控制零个或多个文档窗口(一个 JFrame 实例)。

因此,您有一个创建单个应用程序的主类,它创建您的菜单栏并开始侦听击键,它还可能创建一个初始窗口,具体取决于您的应用程序规则。一旦它运行,你可以监听 CMD-N 来创建新的 JFrame。

顺便说一句,在 Windows 中,1 个 JFrame 可能意味着一个单独的实例,但它并不总是意味着那个。考虑一下 Internet Explorer 创建新窗口实例的方式——如果你使用 Cntl-N 创建一个新窗口,它会与父窗口共享会话和其他资源,也就是说,它不是单独的,而只是另一个文档。同时,您可以从开始菜单启动另一个 IE 实例,它不会与其他两个正在运行的 IE 窗口共享会话或资源。然而,这三个看起来都像是任务栏中完全独立的应用程序。

于 2011-03-25T14:25:28.790 回答