java代码写个进程条

总结:运用JProgressBar类。还有线程相关

package com.v;

import java.awt.image.*;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.FlowLayout;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JProgressBar;
import javax.swing.JWindow;
import java.awt.event.*;

public class Demo extends JWindow implements Runnable {
	// 定义加载窗口大小
	public static final int load_width = 455;
	public static final int load_high = 295;
	public static final int width = Toolkit.getDefaultToolkit().getScreenSize().width;
	public static final int high = Toolkit.getDefaultToolkit().getScreenSize().height;
	// 定义进度条组件@Override
	public JProgressBar progressbar;
	// 定义标签组件
	public JLabel label;

	// 构造方法
	public Demo() {
		// /创建标签并在表标签上放一个图片
		label = new JLabel(new ImageIcon("images/background.jpg"));//
		// label=new JLabel();//这里理解关键
		label.setBounds(0, 0, load_width, load_high - 15);
		progressbar = new JProgressBar();
		// 显示当前进度值信息
		progressbar.setStringPainted(true);
		// 设置进度条边框不显示
		progressbar.setBorderPainted(false);
		// 设置进度条的前景色
		progressbar.setForeground(new Color(0, 210, 40));
		// 设置进度条的背景色
		progressbar.setBackground(new Color(188, 190, 194));
		progressbar.setBounds(0, load_high - 15, load_width, 15);// 这一步我漏掉了导致进程条不显示
		// 添加标签
		this.add(label);
		// 添加进程条
		this.add(progressbar);
		// 设置窗口的大小
		this.setSize(load_width, load_high);
		// 设置窗口的初始位置
		this.setLocation((high - load_high) / 2, (width - load_width) / 2);
		// 设置窗体的布局
		this.setLayout(null);
		// this.setLayout(new FlowLayout());
		// 设置窗口在屏幕中央显示
		this.setLocationRelativeTo(null);
		// 设置窗口显示
		this.setVisible(true);

	}

	public static void main(String[] args) {
		Demo demo = new Demo();// 创建对象
		new Thread(demo).start();
	}

	public void run() {
		for (int i = 0; i <= 100; i++) {
			try {
				Thread.sleep(100);// 线程
			} catch (InterruptedException I) {
				I.printStackTrace();
			}
			progressbar.setValue(i);
		}
		JOptionPane.showMessageDialog(this, "OK任务已完成!");
		this.dispose();

	}

}

  

原文地址:https://www.cnblogs.com/langlove/p/3426407.html