1,进度条实例
2,创建一个进度条
- copyProgressBar = new JProgressBar();
- copyProgressBar.setBorderPainted(true);
- copyProgressBar.setString(PROGRESSINITSTR);
- copyProgressBar.setStringPainted(true);
3,进度条两种模式
模式一:百分比模式(determinate mode)
更新进度条:
- /***
- * 测试进度条<br>百分比
- */
- public void testProgressBar() {
- copyProgressBar.setIndeterminate(false);//取消"不确定模式"
- copyProgressBar.setString(PROGRESSINITSTR);
- copyProgressBar.setStringPainted(true);
- new Thread(new Runnable() {
- @Override
- public void run() {
- copyFileBtn.setEnabled(false);
- int count = 0;
- copyProgressBar.setForeground(progressDefaultColor);
- try {
- Thread.sleep(50);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- while (true) {
- if(isStop()){
- setStop(false);
- break;
- }
- count++;
- try {
- Thread.sleep(50);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- copyProgressBar.setString(count + "%");
- copyProgressBar.setValue(count);
- if (count >= 100) {
- copyProgressBar.setForeground(Color.GREEN);
- break;
- }
- }
- copyFileBtn.setEnabled(true);
- }
- }).start();
- }
模式二:不确定模式
启动进度条:
- /***
- * 左右移动<br>
- * 将进度条设置为不确定模式
- */
- public void testIndeterminate() {
- copyProgressBar.setStringPainted(false);
- copyProgressBar.setIndeterminate(true);
- }
4,说明
(1)copyProgressBar.setString(PROGRESSINITSTR);
copyProgressBar.setStringPainted(true);
作用:在进度条上显示百分比的文字
(2)停止不确定模式:
- public void stopIndeterminate(){
- copyProgressBar.setIndeterminate(false);
- copyProgressBar.setValue(100);
- }
源代码:
http://pan.baidu.com/s/1i3s9cFF
参考:http://hw1287789687.iteye.com/blog/2003105
时间: 2024-09-15 01:16:55