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

 
 

 
 

 
 

 
 

 
 

 
 

 
 

工程名:TestUI

包名:com.siwuxie095.ui

类名:TestList.java

 
 

 
 

工程结构目录如下:

 
 

进度条控件JProgressBar的使用-LMLPHP

 
 

 
 

 
 

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

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

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

 
 

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

 
 

进度条控件JProgressBar的使用-LMLPHP

 
 

 
 

 
 

 
 

进度条的使用场景:

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

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

 
 

 
 

 
 

继续向 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 {

次,模拟加载的过程

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();

}

});

 
 

 
 

效果如下:

 
 

进度条控件JProgressBar的使用-LMLPHP

 
 

 
 

 
 

 
 

 
 

 
 

【made by siwuxie095】

05-16 18:54