JProgressBar进度条

核心在于线程操作

//source code

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JProgressBar;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener ;
class ProcessBar extends Thread  {
    private int DELAY = 100 ;
    private JProgressBar  bar  ;
    private JButton button ;
    private boolean flag = true ;
    public ProcessBar(JProgressBar bar,JButton button)  {
        this.bar = bar ;
        this.button = button ;   

    }

    public void run()  {
        button.setEnabled(false);
        int max = bar.getMaximum() ;
        while(flag)  {
            try  {
                Thread.sleep(DELAY);   //休眠100毫秒
            } catch(InterruptedException ignoreException)  {

            }
            bar.setValue(bar.getValue()+1);
            if(bar.getValue() >= max)  {
                flag = false ;
            }
        }
        button.setEnabled(true);
    }
} ;

class Tester  {
    public static void main(String args[])  {
        final JProgressBar pbar = new JProgressBar(0,100) ;
        pbar.setStringPainted(true);
        final JButton bstart = new JButton("开始") ;
        bstart.addActionListener(new ActionListener()  {
            public void actionPerformed(ActionEvent e)  {
                if (pbar.getValue() >= pbar.getMaximum())  {
                    pbar.setValue(0) ;
                }
                Thread stepper = new ProcessBar(pbar, bstart) ;
                stepper.start() ;
            }
        });

        JFrame frame  = new JFrame("安装进度") ;
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(pbar,BorderLayout.NORTH) ;
        frame.add(bstart,BorderLayout.SOUTH) ;
        frame.setSize(300,100);
        frame.setVisible(true) ;
    }
}
时间: 2024-10-25 22:08:33

JProgressBar进度条的相关文章

第12章-Swing编程 --- 使用JProgressBar、ProgressMonitor和BoundedRangeModel创建进度条

第12章-Swing编程 --- 使用JProgressBar.ProgressMonitor和BoundedRangeModel创建进度条 (一)创建进度条 使用JProgressBar,可以很方便的创建进度条,其步骤如下: (1)创建一个JProgressBar对象,创建该对象时也可以指定3个参数,用于设置进度条的排列方向(竖直和水平).进度条的最大值和最小值.也可以在创建该对象时不传入任何参数,而是在后面程序中修改这3个属性. 下面代码创建了JProgressBar对象 //创建一条垂直进

进度条控件JProgressBar的使用

----------------siwuxie095 工程名:TestUI 包名:com.siwuxie095.ui 类名:TestList.java 工程结构目录如下: 在根面板 contentPane 的下方添加一个 JProgressBar, 可以在 value 属性中设定初始值,可以在 maximum 和 minimum 属性中设定最大值和最小值 如:value 为 10,maximum 为100,minimum 为 0 进度条的使用场景: 当程序执行某一项比较耗时的操作时,让进度条给用

使用Java高速实现进度条

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

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

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

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

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

Java Swing程序开发—右下角显示进度条

虽然自己不喜欢Java的GUI程序,但是工作原因,听从上级安排. 转入正题:这篇文章实现在桌面右下角显示一个进度条,显示当前程序运行的进度.而且鼠标能够拖动进度条.有需要的童鞋,可以直接拷贝代码过去使用! Java参考代码: import java.awt.Dimension; import java.awt.Insets; import java.awt.Toolkit; import java.awt.event.MouseEvent; import java.awt.event.Mouse

JAVA程序设计(17)----- 制作文件拷贝软件 进程 输入流输出流 NIO 进度条 底层拷贝 多线程

使用NIO对文件进行底层拷贝(按照字节)多线程技术初级应用 不阻塞程序运行 package com.lovo.homework01; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import

疯狂JAVA讲义---第十二章:Swing编程(五)进度条和滑动条

http://blog.csdn.net/terryzero/article/details/3797782 疯狂JAVA讲义---第十二章:Swing编程(五)进度条和滑动条 标签: swing编程java任务timerstring 2009-01-16 21:12 6722人阅读 评论(0) 收藏 举报  分类: J2SE(63)  版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天讲了Swing基本的控件,今天开始讲特殊控件.一天讲2个吧,首先讲用JProgressBar,Pro

Java 进度条

public class jprogess3s extends JFrame { public static   JPanel contentPane; private static JProgressBar progressBar; public static JLabel picture; public jprogess3s() throws InterruptedException { setTitle( "Drawing"); setDefaultCloseOperation(