必威体育Betway必威体育官网
当前位置:首页 > IT技术

Java JProgressBar类(进度条)

时间:2019-05-31 15:42:05来源:IT技术作者:seo实验室小编阅读:92次「手机版」
 

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();

	}

}

相关阅读

Java技术对网站建设有什么好处

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

JavaScript主要作用是什么呢

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

java.lang.UnsupportedClassVersionError

截图:                                                            错误日志: Exception in thr

Java之反射——类对象

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

Java 混淆器(obfuscate)

Java 混淆器就是给.class加密以防止反编译的工具 开源的  RetroGuard   http://www.retrologic.com/ IBM的  JAX    

分享到:

栏目导航

推荐阅读

热门阅读