swing 进度条

1,进度条实例

 

 

2,创建一个进度条

Java代码  

  1. copyProgressBar = new JProgressBar();  
  2.         copyProgressBar.setBorderPainted(true);  
  3.         copyProgressBar.setString(PROGRESSINITSTR);  
  4.         copyProgressBar.setStringPainted(true);  

 

 

3,进度条两种模式

模式一:百分比模式(determinate mode)

更新进度条:

Java代码  

  1. /*** 
  2.      * 测试进度条<br>百分比 
  3.      */  
  4.     public void testProgressBar() {  
  5.         copyProgressBar.setIndeterminate(false);//取消"不确定模式"  
  6.         copyProgressBar.setString(PROGRESSINITSTR);  
  7.         copyProgressBar.setStringPainted(true);  
  8.         new Thread(new Runnable() {  
  9.             @Override  
  10.             public void run() {  
  11.                 copyFileBtn.setEnabled(false);  
  12.                 int count = 0;  
  13.                 copyProgressBar.setForeground(progressDefaultColor);  
  14.                 try {  
  15.                     Thread.sleep(50);  
  16.                 } catch (InterruptedException e) {  
  17.                     e.printStackTrace();  
  18.                 }  
  19.                 while (true) {  
  20.                     if(isStop()){  
  21.                         setStop(false);  
  22.                         break;  
  23.                     }  
  24.                     count++;  
  25.                     try {  
  26.                         Thread.sleep(50);  
  27.                     } catch (InterruptedException e) {  
  28.                         e.printStackTrace();  
  29.                     }  
  30.                     copyProgressBar.setString(count + "%");  
  31.                     copyProgressBar.setValue(count);  
  32.                     if (count >= 100) {  
  33.                         copyProgressBar.setForeground(Color.GREEN);  
  34.                         break;  
  35.                     }  
  36.                 }  
  37.                 copyFileBtn.setEnabled(true);  
  38.             }  
  39.         }).start();  
  40.     }  

 

 

 

模式二:不确定模式

 启动进度条:

Java代码  

  1. /*** 
  2.      * 左右移动<br> 
  3.      * 将进度条设置为不确定模式 
  4.      */  
  5.     public void testIndeterminate() {  
  6.         copyProgressBar.setStringPainted(false);  
  7.         copyProgressBar.setIndeterminate(true);  
  8.     }  

 

 

4,说明

(1)copyProgressBar.setString(PROGRESSINITSTR);

copyProgressBar.setStringPainted(true);

作用:在进度条上显示百分比的文字

(2)停止不确定模式:

Java代码  

  1. public void stopIndeterminate(){  
  2.         copyProgressBar.setIndeterminate(false);  
  3.         copyProgressBar.setValue(100);  
  4.     }  

 

源代码:

http://pan.baidu.com/s/1i3s9cFF

参考:http://hw1287789687.iteye.com/blog/2003105

时间: 2024-09-15 01:16:55

swing 进度条的相关文章

Java Swing创建自定义闪屏:在闪屏上添加Swing进度条控件(转)

  本文将讲解如何做一个类似MyEclipse启动画面的闪屏,为Java Swing应用程序增添魅力.   首先看一下效果图吧,       原理很简单,就是创建一个Dialog,Dialog有一个进度条和一个Label用来分别显示进度和进度信息,而Dialog的宽度和高度正是闪屏图片的宽度和高度.然后将闪屏图片贴到Dialog中作为整个窗体的背景,Dialog显示时覆盖闪屏所处的区域.由于Dialog显示时闪屏并没有消失,且Dialog的X.Y及宽高都与闪屏图片一致,因此实际切换时,非常流畅,

Java swing 进度条的显示问题

问题描述 最近在做一个C/S的通行软件,其中涉及到文件传输的功能,希望能够显示文件的上传进度,但是遇到一些问题无法解决:当传输文件时,进度条必须不断更新,但是Swing好像是单线程的,而且对Swing界面的更改不能在其他线程中进行(如果有错请指教),结果我现在的问题就是文件传输的过程中进度条不能更新,而且整个界面被阻塞,导致对界面无法进行其他操作,只有文件传输完成后才突然显示100%,下面贴出部分代码:包含进度条的类:publicclassTransmitBarextendsJPanel{pri

java Swing 进度条 多线程问题 附代码

问题描述 目标:当我点击主界面上的开始按钮,然后就会用大约1分钟来进行数据处理.但是在数据处理的时候,整个软件就像死了一样(其实没有),刷新还在继续,所以我想达到这样的效果:点击开始按钮,就弹出一个进度条在不停的动,表示程序正在运行,并没有死,然后进度条在持续更新,从1%到100%,当数据处理结束时,进度条消失,显示主界面,怎么实现呀!望大家处处注意!谢谢!问题:程序无法实现[处理中]对话框进度条与数据处理同步开始的功能.如何使他们同步进行?即:数据处理一开始,就让进度条对话框弹出,且从0%开始

java swing拷贝文件进度条

今天写了一个Java swing 进度条的例子项目. 该项目使用maven构建 项目名称:copyfile_progressbar.结构如下:  功能是拷贝文件.界面如下:  该界面是测试界面,如何测试呢?点击菜单中的"测试",见下图:   点击[暂停],可以使进度条暂停:     进度条走完的界面如下:   该项目的功能是拷贝文件,拷贝文件的同时显示进度:   该项目依赖我另外的项目:  

swing 下载文件时的进度条

Java swing中经常要使用到进度条,比如下载文件和拷贝文件时显示进度,如下图所示:  下载完成之后: 难点在于:在读取输入流的时候,实时更新进度条.  我自己定了一个规则: (1) 若输入流的大小小于1024,则字节数组的长度就是输入流的大小. <!--[if !supportLists]-->(1)      (2) <!--[endif]-->获取文件的大小,并平分为100等份,得到商1: <!--[if !supportLists]-->(2)       

java+swing界面进度条不能同步,该怎样解决,急急急急急!!!!!

问题描述 java+swing界面进度条不能同步,该怎样解决,急急急急急!!!!! for(int i=0;i<5464646354;i++){ ........... double xx=(double)(i/Diedai.iteration)*100; int x=(int)xx; AboutIOBLPSO.JinDuTiao.setValue(x); //AboutIOBLPSO是一个类,里面有变量 public static javax.swing.JProgressBar JinDuT

java swing 编程 加入进度条

问题描述 有一个使用Javaswing编写的转换excel的exe程序,现在想加入进度条显示转换过程,怎么样加入呀?

使用Java快速实现进度条(转)

基于有人问到怎样做进度条,下面给个简单的做法: 主要是使用JProgressBar(Swing内置javax.swing.JProgressBar)和SwingWorker(Swing内置javax.swing.SwingWorker)   有人肯定会说,不是用线程做的吗?使用线程共享一个变量,确实可以.不过这种方式不太优雅,当然,你可以再用线程封装也行.不过,SwingWorker已经帮我们封装好啦--使用现成的东西来做还是方便^_^   先看效果:                 下面看代码

Java中读取文件进度条的实现

实现功能描述: 当读取一个大文件时,一时半会儿无法看到读取结果,就需要显示一个进度条,是程序员明白已经读了多少文件,可以估算读取还需要多少时间. 实现这个功能比较简单,用到的类有两个:ProgressMonitorInputStream(主要是整个类) 和 ProgressMonitor ,它们在javax.swing中 大体思路,你要首先知道整个文件的大小,和当前已经读取文件的大小,获得整个文件大小的方法 ProgressMonitorInputStream monitor; /** * @p