java进度条

简介

利用JprogressBar类可以实现一个进度条。它一般是一种颜色部分或完全填充的矩形。缺省情况下,进度条配备了一个凹陷的边框,并水平放置。 进度条还可以选择显示一个字符串,这个字符串在进度条矩形的中央位置上显示。这个字符串缺省时为耗时任务已完成的百分比。这个字符串可用JProgressBar.setString方法定制。

进度条是一个矩形组件,通过填充它的部分或全部来指示一个任务的执行情况。默认情况下为确定任务执行进度的进度条效果如图23.48所示,填充区域会逐渐增大;如果并不确定任务的执行进度,可以通过调用方法setIndeterminate(boolean b)设置进度条的样式,设为true表示不确定任务的执行进度,填充区域会来回滚动,效果如图23.49所示;设为false则表示确定任务的执行进度。

构造方法

JProgressBar() :创建一个显示边框但不带进度字符串的水平进度条。

JProgressBar(BoundedRangeModel newModel) :创建使用指定的保存进度条数据模型的水平进度条。

JProgressBar(int orient) :创建具有指定方向(JProgressBar.VERTICAL 或 JProgressBar.HORIZONTAL)的进度条。

JProgressBar(int min, int max) :创建具有指定最小值和最大值的水平进度条。

JProgressBar(int orient, int min, int max) :创建使用指定方向、最小值和最大值的进度条。

常用方法

addChangeListener(ChangeListener l)

将指定的 ChangeListener 添加到进度条。

getMaximum()

返回进度条的最大值,该值存储在进度条的 BoundedRangeModel 中。

getMinimum()

返回进度条的最小值,该值存储在进度条的 BoundedRangeModel 中。

getModel()

返回此进度条使用的数据模型。

getString()

返回进度字符串的当前值。

getValue()

返回进度条的当前值,该值存储在进度条的 BoundedRangeModel 中。

setBorderPainted(boolean b)

设置 borderPainted 属性,如果进度条应该绘制其边框,则此属性为 true。

setMaximum(int n)

将进度条的最大值(存储在进度条的数据模型中)设置为 n。

setMinimum(int n)

将进度条的最小值(存储在进度条的数据模型中)设置为 n。

setModel(BoundedRangeModel newModel)

设置 JProgressBar 使用的数据模型。

setString(String s)

设置进度字符串的值。

setValue(int n)

将进度条的当前值(存储在进度条的数据模型中)设置为 n。

setUI(ProgressBarUI ui)

设置呈现此组件的外观对象。

import java.util.*;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import javax.swing.*;

import javax.swing.filechooser.*;

import javax.swing.filechooser.FileFilter;

public class t3 extends JFrame{

private JProgressBar progressBar = new JProgressBar();

private JButton button = new JButton("升级");

private JLabel label = new JLabel();

private Box box = Box.createVerticalBox();

private Box box1 = Box.createHorizontalBox();

private Box box2 = Box.createHorizontalBox();

private Box box3 = Box.createHorizontalBox();

public t3() {

settitle("选项卡面板");

setBounds(400, 400, 400, 400);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

label.setText("系统升级");

label.setLocation(Swingconstants.CENTER, getDefaultCloseOperation());

progressBar.setIndeterminate(true);//设置进度条的样式为不确定的进度条样式(进度条来回滚动),false为确定的进度条样式(即进度条从头到尾显示)

progressBar.setStringPainted(true);//设置进度条显示提示信息

progressBar.setString("系统正在升级");//设置提示信息

//给按钮添加事件监听器,点击按钮开始升级

button.addactionlistener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

new Progress(progressBar, button).start();// 利用线程模拟一个在线升级任务

}

});

box1.add(label);

box2.add(progressBar);

box3.add(button);

box.add(box1);

box.add(box2);

box.add(box3);

add(box);

setVisible(true);

}

class Progress extends Thread{

private int[] num = {1,10,20,30,40,50,60,70,80,90,100};

private JProgressBar bar;

private JButton button;

public Progress(JProgressBar progressBar, JButton button) {

this.bar = progressBar;

this.button = button;

}

public void run() {

bar.setStringPainted(true);

bar.setIndeterminate(false);//采用确定的进度条样式

for(int i = 0; i < num.length; i++) {

try {

bar.setValue(num[i]);

Thread.sleep(100);

}catch(Exception e) {

e.printstacktrace();

}

}

bar.setString("系统升级结束");

//给按钮添加事件监听器,升级结束后退出系统

button.setText("升级结束");

button.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

System.exit(0);

}

});

}

}

public static void main(String[] args) {

// TODO Auto-generated method stub

t3 test = new t3();

}

}

相关阅读

工程师为消费类设备开发了这种语言,并使其与当时适度的CPU兼容时保持了简单性。从那时起,这种面向对象的语言已用于创建简单到

JavaScript主要作用是什么呢?学习编程的同学对JavaScript并不陌生,JavaScript是前端技术中非常重要的内容,是网站搭建必不可少的

截图:

错误日志:

Exception in thr

学了一段时间Java了,但是还是很菜,看到反射这一节的时候,就有点厌烦,看不下去了,过了一段时间后我又翻了回来,因为要学习后面的,所以反射

Java 混淆器就是给.class加密以防止反编译的工具

开源的  RetroGuard   http://www.retrologic.com/

IBM的  JAX

java进度条_「java进度条」Java JProgressBar类(进度条) - seo实验室相关推荐

  1. java query接口_「软帝学院」Java零基础学习详解

    软帝学院笔记Day26 01DButils工具类的介绍个三个核心类 * A: DButils工具类的介绍个三个核心类 * a: 概述 * DBUtils是java编程中的数据库操作实用工具,小巧简单实 ...

  2. java节假日算法_「国家法定节假日」java 国家法定节假日和双休日判断工具类 - seo实验室...

    国家法定节假日 package com.newland.dateutil; import java.text.ParseException; import java.text.simpledatefo ...

  3. tkinter 设置不可编辑_「input不可编辑」input 不可编辑的方法 - seo实验室

    input不可编辑 1.disabled 属性规定应该禁用 input 元素,被禁用的 input 元素,不可编辑,不可复制,不可选择,不能接收焦点,后台也不会接收到传值.设置后文字的颜色会变成灰色. ...

  4. linux重启用reboot后起不来_「linux重启命令」Linux之重启reboot命令 - seo实验室

    linux重启命令 reboot 用来重启linux系统和windows系统中的restart一样.但是机器重启必须要root用户才有权限. 命令语法: /sbin/reboot [-n] [-w] ...

  5. 小明加密通道进入_「成都全接触」最新!成都8条地铁进展来了!年底还有5条铁路、9条通道!...

    友情提示:2020余额已不足四分之一大家关心的8条地铁线路也有了最新进度其中包括5条预计今年开通3条全新路线.2条机场快速线一起来看看有没有路过你家门口的(内含路线图)-10号线三期-最新进展:全线5 ...

  6. boolean类型默认值_「软帝学院」Java的基本数据类型

    Java的基本数据类型 Java的两大数据类型: · 内置数据类型 · 引用数据类型 内置数据类型 Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型 ...

  7. c++文件流读取一行_「软帝学院」Java挑战者专栏:IO流详解2

    软帝学院笔记Day18 IO流(字符流FileReader) 1.字符流是什么 字符流是可以直接读写字符的IO流 字符流读取字符, 就要先读取到字节数据, 然后转为字符. 如果要写出字符, 需要把字符 ...

  8. java集合详解_「软帝学院」Java进阶者专栏:集合框架详解3

    软帝学院笔记Day14 集合框架(HashSet存储字符串并遍历) A:Set集合概述及特点 通过API查看即可 B:案例演示 HashSet存储字符串并遍历 HashSet hs = new Has ...

  9. 派工单系统 源码_「VIP报修云」报修工单进度通知方法

    报修进度如何及时通知报修人.技术维修员.管理员是故障报修中应用最广泛的功能之一,在报修的场景中消息通知起到及时通知和报修体验的作用. 工单进度 报修通知场景: 1.通知报修人,用户报修后需要用到的通知 ...

  10. 多线程怎么保证数据安全_「软帝学院」Java挑战者专栏:多线程详解2

    软帝学院笔记Day21 多线程(单例设计模式)(掌握) 单例设计模式:保证类在内存中只有一个对象. 如何保证类在内存中只有一个对象呢? (1)控制类的创建,不让其他类来创建本类的对象.private ...

最新文章

  1. 【面试宝典】:《深度学习面试指南》重磅开源!
  2. 太任性!00 后少年买不到回国机票,因“泄愤”找黑客攻击系统,被判刑 4 年
  3. HBase 与 MapReduce 集成
  4. 如何通过SEO来提升网站转化率?
  5. PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 8192 bytes)
  6. 企业dns 服务器的搭建
  7. 访问数组元素进行赋值
  8. 信息学奥赛一本通 2023:【例4.8】数据统计
  9. 七、配置ssh keys连通github跟ssh-agent
  10. JarvisOJ Basic 熟悉的声音
  11. linux新建自定义命令,Linux 创建自定义命令
  12. AI进入制造业 节省人工成本也能提高产品性能
  13. ping命令将结果输出到文本
  14. Go语言基础练习题系列5
  15. Vue 2.0 + Axios + Vue Router 实现CNode社区
  16. 修改 Ubuntu 20.04 的登录界面背景
  17. 从BIO到NIO的网络通信
  18. 对 Unity 动画系统 Mecanim 的调研
  19. python 爬取学信网登录页面
  20. VUE游戏开发:使用Box2D模拟球体的飞行和撞击特效

热门文章

  1. iWebOffice使用VBA控制字体
  2. linux:mac系统占用空间过大,如何查看系统文件大小分布
  3. wpf制作的画图软件
  4. php 调用redfish,Huawei iBMC 通过redfish接口设置KVM key登录html5远程控制台操作记录
  5. 记录小新pro13 Intel版(S540-13IML)安装hackintosh的一些要点
  6. VMware虚拟机安装Centos 8系统的详细操作步骤
  7. python3 荣誉证书(奖状)批量打印
  8. 3 基于采样的路径规划 —— RRT算法
  9. BUUCTF-Crypto-rabbit+篱笆墙上的影子(栅栏密码)+RSA题解
  10. oracle常用查询语句