请问swing程序启动时有什么特别的优化措施没有,我的启动要8/9s,客户不停地点,一下出来4、5个程序界面,怎么办?? 设置一个标志,当点击超过固定的次数后为FALSE,小于则为TRUE. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 进度条,加载完毕后,显示设置标志位,点击后设为false 楼上各位:设标志???每次点击应该是不同的aplication,设标志难道能在不同的aplicaiton中传递!=================还请明示! 忽然想到:java里能不能将鼠标置为漏斗,使之处于等待状态,不能再重复点击!===============可以吗?用那个函数? 怎么搞的难道没人用swing吗? setCorsor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)) setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)) 启动的时候做个splash界面不可以吗?那些大型swing做的软件都这样 to jigsaw(jigsaw) 我做了splash,可不知道我的splash出来还是要3、4s,然后再出来我的主界面to qiyongjun2003(风也悄悄) 我这样做了,但好像setCorsor()只是container用的,所以当我做了splash后,那个漏斗只在splash那个小界面上有而我的install.exe还是可以再点呀=====================================我记得好像有些大型swing软件,在多次开启程序后可以自动地将多余的退出,这是怎么做的????????????????? 我不明白为什么楼上n人都是楼上的观点???是不是我没说清楚??===================================我有一个install.exe的swing程序,我要作的目的是防止用户重复点击install.exe,因为这样会出来n个窗口!===================================因为每一次点击应该是启动一次virtual machine,不同的virtual machine怎么能共享同一个静态变量???不明白到底是怎么做的!===================================读config文件(也是设一个标志)可以解决,可那不是最好的办法! 哦看看jedit的代码吧 守住一个端口 这样就可以避免两次运行了 Win的应用有检查是否运行当前的实例这个功能,在Java当中还真不知道,不知道java的进程管理函数有没有这样的方法来判断。问了一位朋友,他说有做过,用绑定某一个指定的端口,然后判断在绑定端口的时候有异常就退出而不运行了,或者给个提示信息出来就行了,如何? 我觉得,有以下两个方法1。你在启动的时候,将你的Installer.exe的属性设置为只读,然后在程序中判断是否为只读属性,然后启动程序。这样的话需要你在结束的时候,解除该文件的只读属性。 java的进程管理函数有没有呢?端口的解决看看行不;)import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;/** * <p>Title: Java Applet And Application</p> * <p>Description: Java Applet And Application</p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: Beyond DayBreak Office</p> * @author YuLimin * @version 1.0 */public class RunOnlyOnce{ private ServerSocket serverSocket; private Socket socket; int port = 2008; public RunOnlyOnce() { } //测试打开端口并退出:java RunOnlyOnce exit //测试打开端口并占用:java RunOnlyOnce public static void main(String[] args) { RunOnlyOnce runOnlyOnce1 = new RunOnlyOnce(); if(runOnlyOnce1.beginRun()) { //执行程序的加载操作 System.out.println("执行程序的加载操作"); } else { //结束程序去掉端口的监听! System.out.println("结束程序去掉端口的监听!"); runOnlyOnce1.endRun(); } if(args.length > 0) { System.out.println("关闭" + runOnlyOnce1.port + "端口!"); runOnlyOnce1.endRun(); } } public void endRun() { try { if(socket != null) { socket.close(); } if(serverSocket != null) { serverSocket.close(); } } catch(IOException e) { e.printStackTrace(); } } public boolean beginRun() { try { serverSocket = new ServerSocket(port); System.out.println("打开" + port + "端口并进行监听!"); socket = serverSocket.accept(); return true; } catch(IOException e) { System.out.println(port + "端口已经被占用!"); //e.printStackTrace(); return false; } /* while(true) { try { //socket = serverSocket.accept(); System.out.println(""); } catch(Exception e) { System.out.println(e); } } */ }} 原来你要的是系统功能,用JAVA似乎读写config文件是最好最简单的了 如 YuLimin(阿敏当兵) 所示,用 Socket实现一个服务器,控制程序之运行一个实例 YuLimin(阿敏当兵):java的进程管理函数还没有找到,估计可能没有!由于客户的机器上还跑了别的程序,我不敢肯定如port=2008:是否已经被别的程序所监听,所以像监听端口这种方法还需再考虑! jdbc中同时执行两条查询sql语句,获得结果怎么写? jdk安装,没有sudo 权限 为什么我这getGraphics();画不出来呢? Java中如何把非系统时间HH:mm或yyyy-MM-dd HH:mm插入到SQL中 高分请求JAVA或JSP怎么调用EXCEL的宏, IT前辈,请问个问题:北邮的软件学院怎么样?去读值不值? 高手们来比较一下java与.net java 怎么实现文件拷贝 请问这道程序在jb中怎么调试。 我是一个java初学者,请大家帮我解决一下一个问题,谢谢。 JTree刷新问题 十一到了,散分!
设置标志位,点击后设为false
还请明示!
可以吗?用那个函数?
我做了splash,可不知道我的splash出来还是要3、4s,然后再出来我的主界面to qiyongjun2003(风也悄悄)
我这样做了,但好像setCorsor()只是container用的,所以当我做了splash后,那个漏斗只在splash那个小界面上有而我的install.exe还是可以再点呀=====================================
我记得好像有些大型swing软件,在多次开启程序后可以自动地将多余的退出,这是怎么做的?????????????????
是不是我没说清楚??
===================================
我有一个install.exe的swing程序,我要作的目的是防止用户重复点击install.exe,因为这样会出来n个窗口!
===================================
因为每一次点击应该是启动一次virtual machine,不同的virtual machine怎么能共享同一个静态变量???不明白到底是怎么做的!
===================================
读config文件(也是设一个标志)可以解决,可那不是最好的办法!
1。你在启动的时候,将你的Installer.exe的属性设置为只读,然后在程序中判断是否为只读属性,然后启动程序。这样的话需要你在结束的时候,解除该文件的只读属性。
import java.net.ServerSocket;
import java.net.Socket;/**
* <p>Title: Java Applet And Application</p>
* <p>Description: Java Applet And Application</p>
* <p>Copyright: Copyright (c) 2002</p>
* <p>Company: Beyond DayBreak Office</p>
* @author YuLimin
* @version 1.0
*/public class RunOnlyOnce
{
private ServerSocket serverSocket;
private Socket socket;
int port = 2008;
public RunOnlyOnce()
{
} //测试打开端口并退出:java RunOnlyOnce exit
//测试打开端口并占用:java RunOnlyOnce
public static void main(String[] args)
{
RunOnlyOnce runOnlyOnce1 = new RunOnlyOnce();
if(runOnlyOnce1.beginRun())
{
//执行程序的加载操作
System.out.println("执行程序的加载操作");
}
else
{
//结束程序去掉端口的监听!
System.out.println("结束程序去掉端口的监听!");
runOnlyOnce1.endRun();
}
if(args.length > 0)
{
System.out.println("关闭" + runOnlyOnce1.port + "端口!");
runOnlyOnce1.endRun();
}
} public void endRun()
{
try
{
if(socket != null)
{
socket.close();
}
if(serverSocket != null)
{
serverSocket.close();
}
}
catch(IOException e)
{
e.printStackTrace();
}
} public boolean beginRun()
{
try
{
serverSocket = new ServerSocket(port);
System.out.println("打开" + port + "端口并进行监听!");
socket = serverSocket.accept();
return true;
}
catch(IOException e)
{
System.out.println(port + "端口已经被占用!");
//e.printStackTrace();
return false;
}
/*
while(true)
{
try
{
//socket = serverSocket.accept();
System.out.println("");
}
catch(Exception e)
{
System.out.println(e);
}
}
*/
}
}