Java Swing 实现loading进度条加载效果

简介: 这个可以用来做一些页面的加载进度条还是很不错的,起到美观的作用,一些代码内容也是根据别的大佬拿来修改完成。这是在idea里面运行的

前言:

这个可以用来做一些页面的加载进度条还是很不错的,起到美观的作用,一些代码内容也是根据别的大佬拿来修改完成。这是在idea里面运行的

效果图:

代码:

package com.woody.Test.Test2;
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;
public class StartLoadingView extends JWindow implements Runnable {
    // 定义加载窗口大小
    public static final int LOAD_WIDTH = 1075;//这是页面宽度
    public static final int LOAD_HEIGHT = 604;//这是页面高度
    // 获取屏幕窗口大小
    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 StartLoadingView() {
        // 创建标签,并在标签上放置一张图片
        label = new JLabel(new ImageIcon("D:\\素材\\07.jpg"));//这里放页面要展示的图片
        label.setBounds(0, 0, LOAD_WIDTH, LOAD_HEIGHT - 15);
        // 创建进度条
        progressbar = new JProgressBar();
        // 显示当前进度值信息
        progressbar.setStringPainted(true);
        // 设置进度条边框不显示
        progressbar.setBorderPainted(false);
        // 设置进度条的前景色
        progressbar.setForeground(new Color(210, 0, 80, 255));//这里点击左边的颜色按钮可以换进度条的已加载颜色
        // 设置进度条的背景色
        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) {
        StartLoadingView t = new StartLoadingView();
        new Thread(t).start();
    }
    @Override
    public void run() {
        for (int i = 0; i <= 100; i++) {
            try {
                Thread.sleep(20);//加载进度条需要用到多少秒,20就是2秒
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            progressbar.setValue(i);
        }
        JOptionPane.showMessageDialog(this, "程序加载成功");
        this.dispose();
        //如果这里不继续执行代码,将关闭本次运行
    }
}

目录
相关文章
|
17天前
|
安全 Java 编译器
Java 虚拟机加载 Java 类的过程
【6月更文挑战第7天】Java 是一门编译型语言,在完成代码的编写以后,需要使用 Java 编译器将源码编译成字节码文件,供虚拟机运行。在字节码被 Java 虚拟机执行之前,需要将对应的类进行加载。
45 3
|
1天前
|
Java 编译器
Java健壮性 Java可移植性 JDK, JRE, JVM三者关系 Java的加载与执行原理 javac编译与JAVA_HOME环境变量介绍 Java中的注释与缩进 main方法的args参数
Java健壮性 Java可移植性 JDK, JRE, JVM三者关系 Java的加载与执行原理 javac编译与JAVA_HOME环境变量介绍 Java中的注释与缩进 main方法的args参数
5 1
|
7天前
|
Java 数据安全/隐私保护
利用Java图形化界面组件Swing写一个简易的登录界面
利用Java图形化界面组件Swing写一个简易的登录界面
22 1
|
8天前
|
前端开发 Java
java加载class文件的原理
java加载class文件的原理
|
13天前
|
Java API 数据库
Java一分钟之-JPA的懒加载与即时加载
【6月更文挑战第15天】**JPA中的懒加载与即时加载影响应用性能。懒加载推迟关联对象加载,减少初始数据量,但可能导致N+1查询。即时加载则在主实体加载时加载关联数据,适用于急需的情况,但会增加内存使用。选择合适的加载策略,如通过JOIN FETCH优化查询,是性能调优的关键。代码示例展示了`FetchType.LAZY`与`FetchType.EAGER`的使用。**
20 6
|
15天前
|
Java Windows
基于java Swing编写扫雷游戏设计实现(已调试)
基于java Swing编写扫雷游戏设计实现(已调试)
24 1
|
22天前
|
Java
Java Swing模拟水波纹扩散效果动画
Java Swing模拟水波纹扩散效果动画
24 6
|
22天前
|
Java
JAVA Swing自定义JScorllPanel
JAVA Swing自定义JScorllPanel
13 1
|
1天前
|
前端开发 Java UED
Java中的图形用户界面编程:Swing与JavaFX的比较与应用
Java中的图形用户界面编程:Swing与JavaFX的比较与应用
|
1天前
|
数据采集 Web App开发 前端开发
技术心得记录:如何用JAVA爬取AJAX加载后的页面(转载)
技术心得记录:如何用JAVA爬取AJAX加载后的页面(转载)