java(jar) - 如何每次都打开相同的进程?

时间:2016-01-26 06:46:50

标签: java jar

如何每次都打开相同的流程?

我有一个java程序,
我想创建一个jar文件(我知道如何创建一个jar文件),
每次打开它都会是同一个实例。

我使用了那个命令:

setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);  

因此用户无法关闭罐子。

现在,我不知道如何打开相同的线程/进程,
当用户再次双击罐子时。

请帮忙.. 感谢。

1 个答案:

答案 0 :(得分:1)

您可以按照以下方式更改代码:

启动时,您的应用程序会尝试在localhost上的专用端口上发送消息。如果不可能,您的应用程序将开始在localhost上侦听此未使用的专用端口。

这样做,当你运行你的第一个实例时,这个实例将绑定端口并监听它;当你运行你的第二个实例时,这个实例并没有真正启动,它会在第一个实例上发送一条消息并退出。

然后,接收消息的第一个实例必须执行某些操作,例如传递可见并在窗口顶部

void onMessageReceivedFromOtherInstance() {
    yourMainFrame.setVisible(true);
    yourMainFrame.toFront();
}