如何弹出程序到最前面。

kouwenlong 2012-09-26 08:41:24
如果已经有一个程序已经在运行,再次运行改程序时,将已经运行的改程序弹出至最前面,怎么做啊?最好详细点啊。
...全文
236 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
huntor 2012-09-27
  • 打赏
  • 举报
回复
swing hacks里有这个技巧
kouwenlong 2012-09-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

楼主,利用中午睡觉时间整理了下,供你参考了:
http://blog.csdn.net/ldh911/article/details/8024629
[/Quote]
非常感谢啊。
MiceRice 2012-09-27
  • 打赏
  • 举报
回复
楼主,利用中午睡觉时间整理了下,供你参考了:
http://blog.csdn.net/ldh911/article/details/8024629
scbb 2012-09-26
  • 打赏
  • 举报
回复
http://goro.iteye.com/blog/812732

呵呵,希望对lz有帮助。
MiceRice 2012-09-26
  • 打赏
  • 举报
回复
避免重复启动,Java解决此类问题有两种通用做法:
1、启动后用写方式来锁定一个文件,这样第二次启动时因为无法锁定该文件所以就知道已经是重复启动了;
2、启动后监听一个约定的端口,同样第二个启动的程序就无法监听该端口了。


考虑到你还需要“将已经运行的改程序弹出至最前面”,所以建议你用方案二。

程序启动后:
1、尝试监听127.0.0.1的某端口,比如: 12345
2、如果监听失败,则向该端口发送“BringToTop”消息,退出;
3、如果监听成功,启动一个线程负责监听该端口,如果接收到BringToTop消息,则将激活窗口焦点。
kouwenlong 2012-09-26
  • 打赏
  • 举报
回复
这代码放在那里啊?
//这里可以写打开eclipse,通过进程调用start()应该就可以了

这句话没怎么明白啊?
kouwenlong 2012-09-26
  • 打赏
  • 举报
回复
谢谢回帖啊,我看看先。
  • 打赏
  • 举报
回复
 private   void   runOnce()   { 
String s = "eclipse.exe ";
try {
java.io.BufferedReader id = new java.io.BufferedReader(new java.io.
FileReader(ID_FILENAME));
String ss = id.readLine();
if (ss != null)
s = ss;
id.close();
}
catch (Exception e) {
//System.out.println(e);
}
try {
int i = 0;
java.lang.Process p = java.lang.Runtime.getRuntime().exec( "Tlist -s ");

InputStream[] inStreams =
new InputStream[] {
h.getInputStream(), h.getErrorStream()};
ConsoleTextArea cta = new
ConsoleTextArea(inStreams);
System.out.println(cta.toString());

java.io.BufferedReader in = new java.io.BufferedReader(new java.io.
InputStreamReader(p.getInputStream()));

String ss = " ";

while ( (ss = in.readLine()) != null) {
if (ss.indexOf(s) != -1) {
i++;
}
}
in.close();

if (i > 1) {
javax.swing.JOptionPane.showMessageDialog(this, "程序已经运行! ");
//这里可以写打开eclipse,通过进程调用start()应该就可以了
}
}
catch (Exception e) {
javax.swing.JOptionPane.showMessageDialog(this, "未找到Tlist程序或I/O错误! ");
}
}

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧