zoukankan      html  css  js  c++  java
  • 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();
    
    	}
    
    }
    

      

  • 相关阅读:
    python学习笔记十五-生成器
    python学习笔记十四-迭代器
    python学习笔记十三-装饰器
    The Zen of Python, by Tim Peters
    python学习笔记十二-函数
    python学习笔记十一-集合set
    tensorflow2 gpu 在 win10 上安装过程和问题处理
    anaconda navigator stuck 卡在 loading applications... 处理
    python工具pip加速For windows
    WCF With StructureMap
  • 原文地址:https://www.cnblogs.com/langlove/p/3426407.html
Copyright © 2011-2022 走看看