자바 스윙 JProgressBar 진도 바 의 실현 예시

1.개술
공식 자바 DocsApi:javax.swing.JProgressBar
JProgress Bar,진도 표.
일부 작업 진 도 를 시각 적 으로 표시 하 는 구성 요소 입 니 다.
진도 바 센터 는 진도 백분율 의 텍스트 표시 형식 을 표시 할 수 있 습 니 다.
작업 의 진도 길 이 를 알 수 없 을 때 진도 바 를 불 확정 모드 로 설정 할 수 있 습 니 다.불 확정 모드 의 진도 바 는 진행 중인 동작 을 표시 하기 위해 애니메이션 을 지속 적 으로 표시 합 니 다....해 야 한다
작업 길이 와 진 도 량 을 확정 할 수 있 을 때 진도 바 의 최대 최소 값 과 진도 바 의 진 도 를 업데이트 하여 확정 모드 로 전환 할 수 있 습 니 다.
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();
  }

}

결과 전시:

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기