我无法更新进度条...这是我的代码

Thread t=new Thread(new Runnable(){
        public void run(){
            int i=1;
            jProgBar.setMinimum(0);
            jProgBar.setMaximum(100);
            try {
                while(i<=100 || true){
                    jProgBar.setValue(i);
                    i++;
                    Thread.sleep(50);
                }
            }
            catch (InterruptedException ex){
                jProgBar.setValue(jProgBar.getMaximum());
            }
        }
    });
    t.start();

    .... Something code that correctly works

    t.interrupt();

进度栏状态仅在线程末尾更新。
有人能帮我吗??

最佳答案

在 sleep 之前,添加对SwingUtilties.invokeLater()的调用,该调用会生成一个线程以在EDT的进度栏上触发firePropertyChange。

10-04 10:57