java进度条实例二

实现代码如下:
import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class JPTest1 extends JFrame implements ActionListener{ JProgressBar jpb; JButton jb; JPanel jp; public static void main(String[] args) { JPTest1 jp=new JPTest1(); } public JPTest1(){ jpb=new JProgressBar(); jp=new JPanel(); jb=new JButton("完成"); jb.setEnabled(false); jb.addActionListener(this); jp.add(jb); jpb.setStringPainted(true); new Progress(jpb, jb).start(); this.add(jpb,BorderLayout.NORTH); this.add(jp,BorderLayout.SOUTH); //初始化主界面 this.setTitle("进度条示例"); this.setSize(350,120); this.setLocation(100,100); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setResizable(false); this.setVisible(true); } @Override public void actionPerformed(ActionEvent e) { if (e.getSource()==jb){ this.dispose(); System.exit(1); } } } class Progress extends Thread{ JProgressBar jpb; JButton jb; int[] values={5, 10, 15, 20, 25, 30, 35,40,45,50,55,60,65,70,75,80,85,90,95,100}; public Progress(JProgressBar jpb,JButton jb) { this.jpb=jpb; this.jb=jb; } public void run(){ for (int i=0;i<values.length;i++){ try { Thread.sleep(1000); } catch (Exception e) { e.printStackTrace(); } jpb.setValue(values[i]); } jpb.setIndeterminate(false); jb.setEnabled(true); } }

浙公网安备 33010602011771号