Fork me on GitHub

进度条控件JProgressBar的使用

----------------siwuxie095

   

   

   

   

   

   

   

工程名:TestUI

包名:com.siwuxie095.ui

类名:TestList.java

   

   

工程结构目录如下:

   

   

   

   

在根面板 contentPane 的下方添加一个 JProgressBar,

可以在 value 属性中设定初始值,可以在 maximum 和

minimum 属性中设定最大值和最小值

   

如:value 为 10,maximum 为100,minimum 为 0

   

   

   

   

   

进度条的使用场景:

当程序执行某一项比较耗时的操作时,让进度条给用户一个反馈,

来表示当前的进度执行到什么位置

   

   

   

继续向 contentPane 的上方添加一个 JButton,

将其文本(text)改为 Run,Rename 为 btnRun

   

   

为 JButton 添加鼠标点击事件,模拟加载的过程

   

JButton btnRun = new JButton("Run");

btnRun.addMouseListener(new MouseAdapter() {

@Override

public void mouseClicked(MouseEvent arg0) {

 

//创建一个 SwingWorker 线程,并指定泛型为 String Integer

//创建完成后,需要调用 execute() 方法将它运行

new SwingWorker<String, Integer>() {

   

//复写 doInBackground() 方法

@Override

protected String doInBackground() throws Exception {

//循环10次,模拟加载的过程

for (int i = 1; i <= 10; i++) {

//每次循环暂停 1

Thread.sleep(1000);

// i*10 pulish 出去

publish(i*10);

}

return null;

}

 

//再复写 process()方法

@Override

protected void process(List<Integer> chunks) {

for (Integer integer : chunks) {

//需要将 progressBar 的声明转移到类中

//Convert local to field

progressBar.setValue(integer);

}

}

 

}.execute();

}

});

   

   

效果如下:

   

   

   

   

   

   

   

【made by siwuxie095】

posted on 2017-04-03 13:03  siwuxie095  阅读(494)  评论(0编辑  收藏  举报

导航