📄 jsplashwindowplus.java
字号:
package downfile;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.Toolkit;
import java.net.URL;
import java.net.URLClassLoader;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JWindow;
import javax.swing.UIManager;
public class JSplashWindowPlus extends JWindow implements Runnable{
Thread splashThread = null;
static SuspendedDialog dialog;
private JProgressBar progress;
public JSplashWindowPlus(){
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
JPanel splash = new JPanel(new BorderLayout());
ImageIcon splashpic = new ImageIcon(getImage("images/star.gif"));
splash.add(new JLabel(splashpic),BorderLayout.CENTER);
progress = new JProgressBar(1,100);
progress.setStringPainted(true);
progress.setBorderPainted(true);
progress.setString("程序正在启动,请梢候......");
progress.setBackground(Color.white);
splash.add(progress,BorderLayout.SOUTH);
setContentPane(splash);
Dimension screen = getToolkit().getScreenSize();
pack();
setLocation((screen.width - getSize().width)/2,
(screen.height - getSize().height)/2);
}
public void start(){
this.toFront();
splashThread = new Thread(this);
splashThread.start();
}
public void run(){
setVisible(true);
try{
for(int i =0;i<100;i++){
Thread.sleep(10);
progress.setValue(progress.getValue()+1);
}
}catch(Exception e){
}
dispose();
MainFrame.main.setVisible(true);
dialog.setVisible(true);
}
public static void main(String[] arg){
try {
UIManager.setLookAndFeel(UIManager.
getSystemLookAndFeelClassName());
} catch (Exception exception) {
exception.printStackTrace();
}
MainFrame.main = new MainFrame();
MainFrame.main.pack();
MainFrame.main.setExtendedState(JFrame.MAXIMIZED_BOTH); //使主窗口最大化
JSplashWindowPlus splash = new JSplashWindowPlus();
splash.start();
dialog = new SuspendedDialog();
dialog.start();
Timer yunxing = new Timer(); //记录程序运行的时间
yunxing.start();
}
// 获得图片资源
Image getImage(String filename) {
URLClassLoader urlLoader = (URLClassLoader)this.getClass().
getClassLoader();
URL url = null;
Image image = null;
url = urlLoader.findResource(filename);
image = Toolkit.getDefaultToolkit().getImage(url);
MediaTracker mediatracker = new MediaTracker(this);
try {
mediatracker.addImage(image, 0);
mediatracker.waitForID(0);
}
catch (InterruptedException _ex) {
image = null;
}
if (mediatracker.isErrorID(0)) {
image = null;
}
return image;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -