1. 程式人生 > >Java 進度條控制元件的使用

Java 進度條控制元件的使用

import java.awt.Color;
import java.awt.FlowLayout;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.border.EmptyBorder;



public class JProcessBarDemo extends JFrame{

	private static final long serialVersionUID = 1L;
	private JProgressBar processBar;

	public JProcessBarDemo(){
		setTitle("進度條使用");		//設定窗體標題
		
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 設定窗體退出的操作
		
		setBounds(100, 100, 250, 100);// 設定窗體的位置和大小
		
		JPanel contentPane = new JPanel();   // 建立內容面板
		
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));// 設定內容面板邊框
		
		setContentPane(contentPane);// 應用(使用)內容面板
		
		contentPane.setLayout(new FlowLayout(FlowLayout.CENTER,5,5));// 設定為流式佈局
		
		processBar = new JProgressBar();// 建立進度條
		
		processBar.setStringPainted(true);// 設定進度條上的字串顯示,false則不能顯示
		
		processBar.setBackground(Color.GREEN);
	
		// 建立執行緒顯示進度
		new Thread(){
						
			public void run(){
				for (int i = 0; i < 101; i++) {
					try {
						Thread.sleep(100);  //   讓當前執行緒休眠0.1ms
					} catch (InterruptedException e) {
						// TODO: handle exception
						e.printStackTrace();
					}
					processBar.setValue(i);	// 設定進度條數值
				}
				processBar.setString("升級完成");// 設定提示資訊
			}
		}.start(); //  啟動進度條執行緒
		
		contentPane.add(processBar);// 向面板新增進度控制元件
	}
	
	public static void main(String[] args){
		JProcessBarDemo JPBD = new JProcessBarDemo();
		JPBD.setVisible(true);	
	}
}


執行結果如下: