进度条演示

    技术2022-05-11  67

    import java.awt.BorderLayout; import java.awt.Dimension; import javax.swing.*; import java.awt.event.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class TestJProgressBar implements ActionListener ,ChangeListener {     private JPanel panel;     private Timer timer;     private JButton btn;     private JProgressBar pgb;     private JLabel label;     public void init()     {          panel = new JPanel();          btn = new JButton("start");          btn.addActionListener(this);          panel.add (btn,BorderLayout.CENTER);                   timer = new Timer(100,this);                   pgb = new JProgressBar();          pgb.setOrientation (JProgressBar.HORIZONTAL);          pgb.setMaximum (100);          pgb.setMinimum (0);          pgb.setValue (0);          pgb.setStringPainted (true);          pgb.addChangeListener (this);          pgb.setPreferredSize (new Dimension(400,20));                   label = new JLabel("");              JFrame frame = new JFrame("test");         frame.add (panel,BorderLayout.NORTH);         frame.add (pgb,BorderLayout.CENTER);         frame.add (label,BorderLayout.SOUTH);            frame.setSize(400,100);         frame.setVisible (true);         frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);     }     public static void main(String args[])     {         new TestJProgressBar().init ();          }     public void actionPerformed(ActionEvent e)     {         if(e.getSource ()==btn)         {             timer.start ();             System.out.println ("come here!");         }         if(e.getSource ()==timer)         {             System.out.println ("come here too!");            int value = pgb.getValue () ;            if(value<100)            {                value++;                pgb.setValue (value);            }            if(value ==100)            {                timer.stop ();                pgb.setValue (0);            }                     }     }     public void stateChanged(ChangeEvent e)     {          System.out.println ("come here too2!");         if(e.getSource ()==pgb)         {              int value = pgb.getValue ();              label.setText ("以完成:"+value+"%");         }     } }

    最新回复(0)