总结:运用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();
}
}