我有一个jar文件,在执行时显示JFrame
。
我不想允许重复执行我的Jar文件。
每次创建框架之前,使用Java我想检查Jar是否已经在执行。如果我的应用程序我已经在屏幕上有一个实例,我想把它带到前面。
我该怎么做? 请建议我一个方法。
答案 0 :(得分:3)
我有同样的情况。
我做的是我以file
模式打开write
,关闭应用程序时delete
打开file
。
通过这样做,我得知我的程序正在运行。
每次打开应用程序时,我都会检查该文件是否存在,如果找到我的文件,它就会运行,然后我就会提醒他
"实例已在运行"。
即使有人试图删除该文件,也表示它已在另一个应用程序中打开。
答案 1 :(得分:3)
我也使用套接字,通过RMI。
应用程序是RMI主机/服务器,在端口上接受远程方法调用。
主要是在启动时尝试作为RMI客户端在该端口上获取RMI服务器。 是否有人通过命令行args进行远程调用(例如打开另一个文档)。然后退出。
作为被调用的服务器,远程方法使用窗口的toFront()
将应用程序带到前面。
答案 2 :(得分:2)
JUnique完成第一部分 - 阻止同一程序的多个实例。让现有实例走到前面是另一项我不确定如何处理的任务。