进度条控件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 阅读(501) 评论(0) 编辑 收藏 举报