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 中。
设置 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是前端技术中非常重要的内容,是网站搭建必不可少的
java.lang.UnsupportedClassVersionError
截图: 错误日志: Exception in thr
学了一段时间Java了,但是还是很菜,看到反射这一节的时候,就有点厌烦,看不下去了,过了一段时间后我又翻了回来,因为要学习后面的,所以反射
Java 混淆器就是给.class加密以防止反编译的工具 开源的 RetroGuard http://www.retrologic.com/ IBM的 JAX