Eclipse启动时有一个启动画面,在Eclipse所有的初始化工作都完成之后,启动画面消失。
解决方案:
1、新建一个启动画面Window类
java.awt.Window windowSplash;
2、调用prepareSplash()函数,初始化启动界面
3、在Application的JFrame类(主界面)中调用startSplash(),显示启动界面,然后初试化JFrame的各个可视化组件,初始化后台数据库等(如数据库的连接)
4、在所有的初始化工作完成之后,调用stopSplash()函数,停止显示启动画面
PS:最好加上JProgressBar或者自定义的progressbar用于显示进度.
Java6桌面中加入java.awt.SplashScreen也可实现此功能。
解决方案:
1、新建一个启动画面Window类
java.awt.Window windowSplash;
2、调用prepareSplash()函数,初始化启动界面
private void prepareSplash() {
Toolkit toolkit = Toolkit.getDefaultToolkit();
windowSplash = new Window(this);
Image image = toolkit.getImage("images" + File.separator + "splash.gif" );
ImageCanvas canvas = new ImageCanvas(image);
windowSplash.add(canvas, "Center" );
Dimension scmSize = toolkit.getScreenSize();
int imgWidth = image.getWidth(this);
int imgHeight = image.getHeight(this);
windowSplash.setLocation(scmSize.width/2 - (imgWidth/2), scmSize.height/2 - (imgHeight/2) );
windowSplash.setSize(imgWidth, imgHeight );
}
3、在Application的JFrame类(主界面)中调用startSplash(),显示启动界面,然后初试化JFrame的各个可视化组件,初始化后台数据库等(如数据库的连接)
private void startSplash(){
windowSplash.setVisible(true);
windowSplash.toFront();
}
4、在所有的初始化工作完成之后,调用stopSplash()函数,停止显示启动画面
private void stopSplash() {
windowSplash.dispose();
}
PS:最好加上JProgressBar或者自定义的progressbar用于显示进度.
Java6桌面中加入java.awt.SplashScreen也可实现此功能。