java后台实现进度条

发布时间:2025-12-09 11:55:08 浏览次数:1

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();                                }                                                         }                        }                    });                }            }        }     }}
java进度条
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477