当前位置: 首页 > 编程笔记 >

Java Swing JProgressBar进度条的实现示例

苏富
2023-03-14
本文向大家介绍Java Swing JProgressBar进度条的实现示例,包括了Java Swing JProgressBar进度条的实现示例的使用技巧和注意事项,需要的朋友参考一下

1. 概述

官方JavaDocsApi: javax.swing.JProgressBar

JProgressBar,进度条。

以可视化形式显示某些任务进度的组件

进度条中心可显示进度百分比的文本表示形式。

当一个任务的进度长度未知时,可将进度条设置为不确定模式。不确定模式的进度条持续地显示动画来表示正进行的操作。当

可以确定任务长度和进度量时,则可设置进度条的最大最小值,以及更新进度条的进度值,将其切换回确定模式。

JProgressBar 常用构造方法:

/**
 * 构造方法中的参数含义:
 *   orient: 进度条的方向,SwingConstants.VERTICAL 或 SwingConstants.HORIZONTAL,默认为水平方向
 *   min: 最小进度值
 *   max: 最大进度值
 */
JProgressBar()

JProgressBar(int orient)

JProgressBar(int min, int max)

JProgressBar(int orient, int min, int max)


JProgressBar 常用方法:

// 设置 最小进度值、最大进度值、当前进度值
void setMinimum(int min)
void setMaximum(int max)
void setValue(int n)

// 获取当前进度值
int getValue()

// 获取当前进度的百分比
double getPercentComplete()

// 是否绘制百分比文本(进度条中间显示的百分数)
void setStringPainted(boolean b)

// 设置进度条进度是否为不确定模式
void setIndeterminate(boolean newValue)

// 设置进度条的方向,SwingConstants.VERTICAL 或 SwingConstants.HORIZONTAL
void setOrientation(int newOrientation)

// 添加进度条的进度改变监听器
void addChangeListener(ChangeListener l)

2. 代码实例

package com.xiets.swing;

import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Main {

  private static final int MIN_PROGRESS = 0;
  private static final int MAX_PROGRESS = 100;

  private static int currentProgress = MIN_PROGRESS;

  public static void main(String[] args) {
    JFrame jf = new JFrame("测试窗口");
    jf.setSize(250, 250);
    jf.setLocationRelativeTo(null);
    jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

    JPanel panel = new JPanel();

    // 创建一个进度条
    final JProgressBar progressBar = new JProgressBar();

    // 设置进度的 最小值 和 最大值
    progressBar.setMinimum(MIN_PROGRESS);
    progressBar.setMaximum(MAX_PROGRESS);

    // 设置当前进度值
    progressBar.setValue(currentProgress);

    // 绘制百分比文本(进度条中间显示的百分数)
    progressBar.setStringPainted(true);

    // 添加进度改变通知
    progressBar.addChangeListener(new ChangeListener() {
      @Override
      public void stateChanged(ChangeEvent e) {
        System.out.println("当前进度值: " + progressBar.getValue() + "; " +
            "进度百分比: " + progressBar.getPercentComplete());
      }
    });

    // 添加到内容面板
    panel.add(progressBar);

    jf.setContentPane(panel);
    jf.setVisible(true);

    // 模拟延时操作进度, 每隔 0.5 秒更新进度
    new Timer(500, new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        currentProgress++;
        if (currentProgress > MAX_PROGRESS) {
          currentProgress = MIN_PROGRESS;
        }
        progressBar.setValue(currentProgress);
      }
    }).start();
  }

}

结果展示:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍python tqdm实现进度条的示例代码,包括了python tqdm实现进度条的示例代码的使用技巧和注意事项,需要的朋友参考一下 一、前言 \quad \quad 有时候在使用Python处理比较耗时操作的时候,为了便于观察处理进度,这时候就需要通过进度条将处理情况进行可视化展示,以便我们能够及时了解情况。这对于第三方库非常丰富的Python来说,想要实现这一功能并不是什么难事。

  • 本文向大家介绍Bootstrap 3 进度条的实现,包括了Bootstrap 3 进度条的实现的使用技巧和注意事项,需要的朋友参考一下 基本样式 自带进度 多种颜色 条纹 动态 堆叠 以上所述是小编给大家介绍的Bootstrap 3 进度条的实现,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!

  • 本文向大家介绍bootstrap+jQuery实现的动态进度条功能示例,包括了bootstrap+jQuery实现的动态进度条功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了bootstrap+jQuery实现的动态进度条功能。分享给大家供大家参考,具体如下: 此款进度条实现的功能: 1.利用了bootstrap的进度条组件。 a.在最外层的<div>中加入class .progr

  • 本文向大家介绍Ajax+PHP实现的模拟进度条功能示例,包括了Ajax+PHP实现的模拟进度条功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Ajax+PHP实现的模拟进度条功能。分享给大家供大家参考,具体如下: 一 代码 fun.js: index.php: progress.php: 二 运行结果 更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP+ajax技巧与应用小

  • 本文向大家介绍Android实现环形进度条的实例,包括了Android实现环形进度条的实例的使用技巧和注意事项,需要的朋友参考一下 Android实现环形进度条的效果图如下: 自定义控件:AttendanceProgressBar 代码如下: 因为是自定义控件,所以在attr.xml文件定义了一些控件属性,以便在xml文件中设置这些属性 代码如下: 最后,在xml文件中,可以这样使用 这只是初步处

  • 本文向大家介绍js实现进度条的方法,包括了js实现进度条的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js实现进度条的方法。分享给大家供大家参考。具体实现方法如下: 1.setTimeout和clearTimeout 效果图: 2.setInterval和clearInterval 效果图: 3.setTimeout和setInterval区别 setTimeout() 只执行 c