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

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

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

1. 概述

官方JavaDocsApi: javax.swing.JProgressBar

JProgressBar,進度條。

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

進度條中心可顯示進度百分比的文本表示形式。

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

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

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

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

JProgressBar(int orient)

JProgressBar(int min, int max)

JProgressBar(int orient, int min, int max)


JProgressBar 常用方法:

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

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

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

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

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

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

// 添加進度條的進度改變監(jiān)聽器
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();

    // 創(chuàng)建一個進度條
    final JProgressBar progressBar = new JProgressBar();

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

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

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

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

    // 添加到內(nèi)容面板
    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();
  }

}

結(jié)果展示:

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    SpringBoot集成Kafka 配置工具類的詳細代碼

    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共享變量的使用,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • Java中l(wèi)ambda表達式實現(xiàn)aop切面功能

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

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

最新評論