繁体   English   中英

一次打开多个相同的Mac应用程序

[英]Opening more than one of the same Mac Application at once

我正在开发一个Java应用程序,它可以登录到我们客户的任何一个数据库。 我的用户希望运行此程序的多个副本,以便他们可以同时登录到几个客户端,而不是注销并重新登录。

如何允许用户一次打开我的应用程序的多个副本?

我正在使用Eclipse开发,而Jarbundler则用于制作应用程序。

编辑:更重要的是,有没有办法在代码库中这样做,而不是让我的用户在他们的系统上做一些时髦的事情? 我宁愿给他们一个'打开新窗口'菜单项,然后让他们在终端输入内容。

你可能已经得到了足够多的代码,你不想听到这个,但你真的不应该启动同一个应用程序的两个实例。 有一个原因,你发现它是如此困难,这是因为Apple不希望你这样做。

OSX的方法是在XCode中使用基于Cocoa Document的应用程序模板。 Apple文档:选择项目。

这是用户非常习惯的东西,它工作得很好。 FTP程序,IRC客户端和许多其他类型已经使用不同的“文档”窗口指向不同的服务器或通道。 指向不同的数据库并没有什么本质上的不同。

根据您编写的代码量以及应用程序的设计方式,如果不重新开始,这可能几乎不可能实现。 然而,在设计阶段遇到此问题的开发人员肯定会接受Apple的建议。

从终端(或脚本包装器):

/Applications/TextEdit.app/Contents/MacOS/TextEdit  &

这样的事情对你有用。

要在Java中执行此操作:

 String[] cmd = { "/bin/sh", "-c", "[shell commmand goes here]" };
 Process p = Runtime.getRuntime().exec (cmd);

从终端,我可以跑

open -n -a appName.app

然后从Applescript,我可以运行

tell application "Terminal"
activaate
   do script "open -n -a appName.app"
end tell

然后从Java,我可以执行该脚本。 然后,我可以将Java代码填充到Action中。 然后,将该操作填充到菜单项“打开新窗口”中。

这就是我现在要去的地方。 现在我只需要获取appName。

如果你正在开发它,你应该能够实例化顶部框架来创建一个新窗口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM