欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java Swing JProgressBar進(jìn)度條的實(shí)現(xiàn)示例

 更新時(shí)間:2019年12月09日 11:15:56   作者:xietansheng  
這篇文章主要介紹了Java Swing JProgressBar進(jìn)度條的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1. 概述

官方JavaDocsApi: javax.swing.JProgressBar

JProgressBar,進(jìn)度條。

以可視化形式顯示某些任務(wù)進(jìn)度的組件。

進(jìn)度條中心可顯示進(jìn)度百分比的文本表示形式。

當(dāng)一個(gè)任務(wù)的進(jìn)度長度未知時(shí),可將進(jìn)度條設(shè)置為不確定模式。不確定模式的進(jìn)度條持續(xù)地顯示動(dòng)畫來表示正進(jìn)行的操作。當(dāng)

可以確定任務(wù)長度和進(jìn)度量時(shí),則可設(shè)置進(jìn)度條的最大最小值,以及更新進(jìn)度條的進(jìn)度值,將其切換回確定模式。

JProgressBar 常用構(gòu)造方法:

/**
 * 構(gòu)造方法中的參數(shù)含義:
 *   orient: 進(jìn)度條的方向,SwingConstants.VERTICAL 或 SwingConstants.HORIZONTAL,默認(rèn)為水平方向
 *   min: 最小進(jìn)度值
 *   max: 最大進(jìn)度值
 */
JProgressBar()

JProgressBar(int orient)

JProgressBar(int min, int max)

JProgressBar(int orient, int min, int max)


JProgressBar 常用方法:

// 設(shè)置 最小進(jìn)度值、最大進(jìn)度值、當(dāng)前進(jìn)度值
void setMinimum(int min)
void setMaximum(int max)
void setValue(int n)

// 獲取當(dāng)前進(jìn)度值
int getValue()

// 獲取當(dāng)前進(jìn)度的百分比
double getPercentComplete()

// 是否繪制百分比文本(進(jìn)度條中間顯示的百分?jǐn)?shù))
void setStringPainted(boolean b)

// 設(shè)置進(jìn)度條進(jìn)度是否為不確定模式
void setIndeterminate(boolean newValue)

// 設(shè)置進(jìn)度條的方向,SwingConstants.VERTICAL 或 SwingConstants.HORIZONTAL
void setOrientation(int newOrientation)

// 添加進(jìn)度條的進(jìn)度改變監(jiān)聽器
void addChangeListener(ChangeListener l)

2. 代碼實(shí)例

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();

    // 創(chuàng)建一個(gè)進(jìn)度條
    final JProgressBar progressBar = new JProgressBar();

    // 設(shè)置進(jìn)度的 最小值 和 最大值
    progressBar.setMinimum(MIN_PROGRESS);
    progressBar.setMaximum(MAX_PROGRESS);

    // 設(shè)置當(dāng)前進(jìn)度值
    progressBar.setValue(currentProgress);

    // 繪制百分比文本(進(jìn)度條中間顯示的百分?jǐn)?shù))
    progressBar.setStringPainted(true);

    // 添加進(jìn)度改變通知
    progressBar.addChangeListener(new ChangeListener() {
      @Override
      public void stateChanged(ChangeEvent e) {
        System.out.println("當(dāng)前進(jìn)度值: " + progressBar.getValue() + "; " +
            "進(jìn)度百分比: " + progressBar.getPercentComplete());
      }
    });

    // 添加到內(nèi)容面板
    panel.add(progressBar);

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

    // 模擬延時(shí)操作進(jìn)度, 每隔 0.5 秒更新進(jìn)度
    new Timer(500, new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        currentProgress++;
        if (currentProgress > MAX_PROGRESS) {
          currentProgress = MIN_PROGRESS;
        }
        progressBar.setValue(currentProgress);
      }
    }).start();
  }

}

結(jié)果展示:

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • ElasticSearch6.2.3+head插件安裝的方法步驟

    ElasticSearch6.2.3+head插件安裝的方法步驟

    這篇文章主要介紹了ElasticSearch6.2.3+head插件安裝的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • Java如何將時(shí)間戳格式化為日期字符串

    Java如何將時(shí)間戳格式化為日期字符串

    這篇文章主要介紹了Java如何將時(shí)間戳格式化為日期字符串問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 基于Java Socket實(shí)現(xiàn)一個(gè)簡易在線聊天功能(一)

    基于Java Socket實(shí)現(xiàn)一個(gè)簡易在線聊天功能(一)

    這篇文章主要給大家介紹基于Java Socket實(shí)現(xiàn)一個(gè)簡易在線聊天功能(一),分為客戶端和服務(wù)端兩段代碼,非常具有參考價(jià)值,感興趣的朋友一起學(xué)習(xí)吧
    2016-05-05
  • Netty分布式ByteBuf使用page級(jí)別的內(nèi)存分配解析

    Netty分布式ByteBuf使用page級(jí)別的內(nèi)存分配解析

    這篇文章主要介紹了Netty分布式ByteBuf使用page級(jí)別的內(nèi)存分配解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • Java注釋和關(guān)鍵字實(shí)例詳解

    Java注釋和關(guān)鍵字實(shí)例詳解

    注釋是對(duì)程序語言的說明,有助于開發(fā)者和用戶之間的交流,方便理解程序,注釋不是編程語句,因此被編譯器忽略,下面這篇文章主要給大家介紹了關(guān)于Java注釋和關(guān)鍵字的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • Java 自旋鎖(spinlock)相關(guān)知識(shí)總結(jié)

    Java 自旋鎖(spinlock)相關(guān)知識(shí)總結(jié)

    這篇文章主要介紹了Java 自旋鎖(spinlock)相關(guān)知識(shí)總結(jié),幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2021-02-02
  • Java8使用stream查找重復(fù)元素的方法示例

    Java8使用stream查找重復(fù)元素的方法示例

    Java?8?是一個(gè)非常成功的版本,這個(gè)版本新增的Stream,配合同版本出現(xiàn)的Lambda?,給我們操作集合(Collection)提供了極大的便利,Stream流是JDK8新增的成員,本文給大家介紹了Java8使用stream查找重復(fù)元素的方法示例,需要的朋友可以參考下
    2024-04-04
  • SpringBoot集成Kafka 配置工具類的詳細(xì)代碼

    SpringBoot集成Kafka 配置工具類的詳細(xì)代碼

    spring-kafka 是基于 java版的 kafka client與spring的集成,提供了 KafkaTemplate,封裝了各種方法,方便操作,它封裝了apache的kafka-client,不需要再導(dǎo)入client依賴,這篇文章主要介紹了SpringBoot集成Kafka 配置工具類,需要的朋友可以參考下
    2022-09-09
  • Java中ThreadLocal共享變量的使用

    Java中ThreadLocal共享變量的使用

    java.lang.ThreadLocal該類提供了線程局部變量,用于在當(dāng)前線程中共享數(shù)據(jù),本文主要介紹了Java中ThreadLocal共享變量的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • Java中l(wèi)ambda表達(dá)式實(shí)現(xiàn)aop切面功能

    Java中l(wèi)ambda表達(dá)式實(shí)現(xiàn)aop切面功能

    本文主要介紹了Java中l(wèi)ambda表達(dá)式實(shí)現(xiàn)aop切面功能,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02

最新評(píng)論