[java]代码库
package wang1;
import java.awt.EventQueue;
import java.awt.Toolkit;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollBar;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.JProgressBar;
import javax.swing.JLabel;
import java.awt.Color;
public class JProcessBar extends JFrame {
// 得到显示器屏幕的宽高
public static int width = Toolkit.getDefaultToolkit().getScreenSize().width;
public static int height = Toolkit.getDefaultToolkit().getScreenSize().height;
// 定义窗体的宽高
public static int windowsWedth = 600;
public static int windowsHeight = 600;
private static final long serialVersionUID = 1L;
private JProgressBar progressBar = new JProgressBar();
private boolean state = false;
private int count = 0;
// 工作线程workThead
private Thread workThead = null;
private Runnable run = null;
public static void main(String[] args) {
JProcessBar jp = new JProcessBar();
jp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jp.setVisible(true);
}
/**
* Create the application.
*/
public JProcessBar() {
initialize();
}
JLabel lblNewLabel_1 = new JLabel("");
/**
* Initialize the contents of the frame.
*/
private void initialize() {
this.setTitle("\u52A0\u8F7D\u4E2D");
this.setBounds((width - windowsWedth) / 2, (height - windowsHeight) / 2, 545, 186);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.getContentPane().setLayout(null);
progressBar.setForeground(Color.BLACK);
progressBar.setStringPainted(true);
progressBar.setOpaque(false);
progressBar.setBounds(73, 103, 434, 24);
this.getContentPane().add(progressBar);
JLabel lblNewLabel = new JLabel("\u8FDB\u5EA6\u52A0\u8F7D\uFF1A");
lblNewLabel.setBounds(10, 106, 68, 15);
this.getContentPane().add(lblNewLabel);
lblNewLabel_1.setOpaque(true);
lblNewLabel_1.setBounds(73, 80, 235, 24);
getContentPane().add(lblNewLabel_1);
if (workThead == null) {
state = true;
workThead = new WorkThead();
workThead.start();
}
}
class WorkThead extends Thread {
public void run() {
while (count < 100) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (state) {
count++;
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
// 更新操作通过事件派发线程完成(一般实现Runnable()接口)
progressBar.setValue(count);
if(count==5){
lblNewLabel_1.setText("loading api-ms-win-core-xstate-l1-1-0.dll");
}else if(count==10){
lblNewLabel_1.setText("loading MaxxAudioAPO5064.dll");
}else if(count==20){
lblNewLabel_1.setText("loading MetroIntelGenericUIFramework.dll");
}else if(count==30){
lblNewLabel_1.setText("loading microsoft-windows-kernel-power-events.dll");
}else if(count==40){
lblNewLabel_1.setText("miguiresource.dll");
}else if(count==80){
lblNewLabel_1.setText("loading mfvdsp.dll");
}else if(count==90){
lblNewLabel_1.setText("loading miguiresource.dll");
}else if(count==100){
lblNewLabel_1.setText("loading end");
Thread.currentThread();
try {
Thread.sleep(500);
} catch (InterruptedException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
});
}
}
}
}
}