Chinaunix首页 | 论坛 | 博客
  • 博客访问: 382984
  • 博文数量: 61
  • 博客积分: 1546
  • 博客等级: 中尉
  • 技术积分: 708
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-22 20:07
文章分类

全部博文(61)

文章存档

2011年(61)

分类: Java

2011-04-01 16:28:30

在桌面应用程序中,经常会用到进度条以显示当前程序运行的状态。
如图所示:
 
  1. import java.awt.Color;

  2. import javax.swing.JFrame;
  3. import javax.swing.JProgressBar;

  4. public class ProcessBar extends JFrame implements Runnable {
  5.     private JProgressBar progress; // 进度条

  6.     
  7.     public ProcessBar(String str) {
  8.         super(str);
  9.         progress = new JProgressBar(1, 100); // 实例化进度条

  10.         progress.setStringPainted(true);      // 描绘文字

  11.     
  12.         progress.setBackground(Color.PINK); // 设置背景色

  13.         this.add(progress);
  14.         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  15.         this.setBounds(200, 300, 250, 50);
  16.         this.setVisible(true);
  17.     }

  18.     public void run() {
  19.         while(true) {
  20.             for(int i=0; i<100; i++) {
  21.                 try {
  22.                     progress.setValue(progress.getValue() + 1); // 随着线程进行,增加进度条值

  23.                     progress.setString(progress.getValue() + "%");
  24.                     Thread.sleep(100);
  25.                 } catch (InterruptedException e) {
  26.                     e.printStackTrace();
  27.                 }
  28.             }
  29.             progress.setValue(0);
  30.             progress.setString(0+"%");
  31.         }
  32.     }
  33.     
  34.     public static void main(String[] args) {
  35.         ProcessBar pb = new ProcessBar("Test JProcessBar");
  36.         Thread t = new Thread(pb);
  37.         t.start();
  38.     }
  39. }
阅读(12535) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~