参考http://java.sun.com/docs/books/tutorial/uiswing/components/progress.html#bars

解决方案 »

  1.   

    这样做行不行:
    //先用按钮触发事件
    JButton start=new JButton("start");
    JProgressBar ProgBar=new JProgressBar(0,100);
    ActionListener I=new ActionListener(){
                                    public void actionPerformed(ActionEvent e) { 
                                            if(timer == null) { 
                                                timer = new javax.swing.Timer(0, Begin()); //与JProgressBar关联的事件
                                                timer.start(); }
                                    }
                                    };
    start.addActionListener(I);//然后在JProgressBar相应的事件中加入用户需要的事件处理
     public ActionListener Begin()
                {
                        AbstractAction al=new AbstractAction(){
                    
                                        public void actionPerformed (ActionEvent e) 
                                        { 
                                            if(JPrcB.getValue() < JPrcB.getMaximum()) 
                                            {JPrcB.setValue(JPrcB.getValue() + 1);
                                            number++;
                        }
                                        } 
                        };
                   return al;
                }
      

  2.   

    这样做行不行:
    //先用按钮触发事件
    JButton start=new JButton("start");
    JProgressBar ProgBar=new JProgressBar(0,100);
    ActionListener I=new ActionListener(){
                                    public void actionPerformed(ActionEvent e) { 
                                            if(timer == null) { 
                                                timer = new javax.swing.Timer(0, Begin()); //与JProgressBar关联的事件
                                                timer.start(); }
                                    }
                                    };
    start.addActionListener(I);//然后在JProgressBar相应的事件中加入用户需要的事件处理
     public ActionListener Begin()
                {
                        AbstractAction actAb=new AbstractAction(){
                    
                                        public void actionPerformed (ActionEvent e) 
                                        { 
                                            if(ProgBar.getValue() <           ProgBar.getMaximum()) 
                                            {ProgBar.setValue(ProgBar.getValue() + 1);
                                            /***************************/
                                            //what are you want do  
                                            /***************************/                                           }
                                        } 
                        };
                   return actAb;
                }