java进度条_「java进度条」Java JProgressBar类(进度条) - seo实验室
java進度條
簡介
利用JprogressBar類可以實現(xiàn)一個進度條。它一般是一種顏色部分或完全填充的矩形。缺省情況下,進度條配備了一個凹陷的邊框,并水平放置。?進度條還可以選擇顯示一個字符串,這個字符串在進度條矩形的中央位置上顯示。這個字符串缺省時為耗時任務(wù)已完成的百分比。這個字符串可用JProgressBar.setString方法定制。
進度條是一個矩形組件,通過填充它的部分或全部來指示一個任務(wù)的執(zhí)行情況。默認(rèn)情況下為確定任務(wù)執(zhí)行進度的進度條效果如圖23.48所示,填充區(qū)域會逐漸增大;如果并不確定任務(wù)的執(zhí)行進度,可以通過調(diào)用方法setIndeterminate(boolean b)設(shè)置進度條的樣式,設(shè)為true表示不確定任務(wù)的執(zhí)行進度,填充區(qū)域會來回滾動,效果如圖23.49所示;設(shè)為false則表示確定任務(wù)的執(zhí)行進度。
構(gòu)造方法
JProgressBar() :創(chuàng)建一個顯示邊框但不帶進度字符串的水平進度條。
JProgressBar(BoundedRangeModel newModel) :創(chuàng)建使用指定的保存進度條數(shù)據(jù)模型的水平進度條。
JProgressBar(int orient) :創(chuàng)建具有指定方向(JProgressBar.VERTICAL 或 JProgressBar.HORIZONTAL)的進度條。
JProgressBar(int min, int max) :創(chuàng)建具有指定最小值和最大值的水平進度條。
JProgressBar(int orient, int min, int max) :創(chuàng)建使用指定方向、最小值和最大值的進度條。
常用方法
addChangeListener(ChangeListener l)
將指定的 ChangeListener 添加到進度條。
getMaximum()
返回進度條的最大值,該值存儲在進度條的 BoundedRangeModel 中。
getMinimum()
返回進度條的最小值,該值存儲在進度條的 BoundedRangeModel 中。
getModel()
返回此進度條使用的數(shù)據(jù)模型。
getString()
返回進度字符串的當(dāng)前值。
getValue()
返回進度條的當(dāng)前值,該值存儲在進度條的 BoundedRangeModel 中。
setBorderPainted(boolean b)
設(shè)置 borderPainted 屬性,如果進度條應(yīng)該繪制其邊框,則此屬性為 true。
setMaximum(int n)
將進度條的最大值(存儲在進度條的數(shù)據(jù)模型中)設(shè)置為 n。
setMinimum(int n)
將進度條的最小值(存儲在進度條的數(shù)據(jù)模型中)設(shè)置為 n。
setModel(BoundedRangeModel newModel)
設(shè)置 JProgressBar 使用的數(shù)據(jù)模型。
setString(String s)
設(shè)置進度字符串的值。
setValue(int n)
將進度條的當(dāng)前值(存儲在進度條的數(shù)據(jù)模型中)設(shè)置為 n。
setUI(ProgressBarUI ui)
設(shè)置呈現(xiàn)此組件的外觀對象。
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("系統(tǒng)升級");
label.setLocation(Swingconstants.CENTER, getDefaultCloseOperation());
progressBar.setIndeterminate(true);//設(shè)置進度條的樣式為不確定的進度條樣式(進度條來回滾動),false為確定的進度條樣式(即進度條從頭到尾顯示)
progressBar.setStringPainted(true);//設(shè)置進度條顯示提示信息
progressBar.setString("系統(tǒng)正在升級");//設(shè)置提示信息
//給按鈕添加事件監(jiān)聽器,點擊按鈕開始升級
button.addactionlistener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
new Progress(progressBar, button).start();// 利用線程模擬一個在線升級任務(wù)
}
});
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("系統(tǒng)升級結(jié)束");
//給按鈕添加事件監(jiān)聽器,升級結(jié)束后退出系統(tǒng)
button.setText("升級結(jié)束");
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();
}
}
相關(guān)閱讀
工程師為消費類設(shè)備開發(fā)了這種語言,并使其與當(dāng)時適度的CPU兼容時保持了簡單性。從那時起,這種面向?qū)ο蟮恼Z言已用于創(chuàng)建簡單到
JavaScript主要作用是什么呢?學(xué)習(xí)編程的同學(xué)對JavaScript并不陌生,JavaScript是前端技術(shù)中非常重要的內(nèi)容,是網(wǎng)站搭建必不可少的
截圖:
錯誤日志:
Exception in thr
學(xué)了一段時間Java了,但是還是很菜,看到反射這一節(jié)的時候,就有點厭煩,看不下去了,過了一段時間后我又翻了回來,因為要學(xué)習(xí)后面的,所以反射
Java 混淆器就是給.class加密以防止反編譯的工具
開源的? RetroGuard?? http://www.retrologic.com/
IBM的? JAX
總結(jié)
以上是生活随笔為你收集整理的java进度条_「java进度条」Java JProgressBar类(进度条) - seo实验室的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数学模型——人口增长模型(基于pytho
- 下一篇: Java-集合练习题