Java中如何实现进度条效果

来源:互联网 发布:ubuntu zsh oh my zsh 编辑:程序博客网 时间:2024/06/03 17:20

每次启动MyEclipse时我们可以看到如下界面:


那么我们如何实现这种效果呢?

代码如下:

import java.awt.Color;import java.awt.Toolkit;import javax.swing.ImageIcon;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JProgressBar;import javax.swing.JWindow;@SuppressWarnings("serial")public class Demo extends JWindow implements Runnable {// 定义加载窗口大小public static final int LOAD_WIDTH = 455;public static final int LOAD_HEIGHT = 295;// 获取屏幕窗口大小public static final int WIDTH = Toolkit.getDefaultToolkit().getScreenSize().width;public static final int HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().height;// 定义进度条组件public JProgressBar progressbar;// 定义标签组件public JLabel label;// 构造函数public Demo() {// 创建标签,并在标签上放置一张图片label = new JLabel(new ImageIcon("images/background.jpg"));label.setBounds(0, 0, LOAD_WIDTH, LOAD_HEIGHT - 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_HEIGHT - 15, LOAD_WIDTH, 15);// 添加组件this.add(label);this.add(progressbar);// 设置布局为空this.setLayout(null);// 设置窗口初始位置this.setLocation((WIDTH - LOAD_WIDTH) / 2, (HEIGHT - LOAD_HEIGHT) / 2);// 设置窗口大小this.setSize(LOAD_WIDTH, LOAD_HEIGHT);// 设置窗口显示this.setVisible(true);}public static void main(String[] args) {Demo t = new Demo();new Thread(t).start();}@Overridepublic void run() {for (int i = 0; i < 100; i++) {try {Thread.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}progressbar.setValue(i);}JOptionPane.showMessageDialog(this, "加载完成");this.dispose();}}


 效果图:



原创粉丝点击