Labeling a JProgressBar : JProgressBar « Swing « Java Tutorial





To display the percentage completed [100 X (value-minimum)/(maximum-minimum)], call the public void setStringPainted(boolean newValue) method with a parameter of true.

Labeling a JProgressBar
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JProgressBar;

public class ProgressBarStep {
  static class BarThread extends Thread {
    private static int DELAY = 500;

    JProgressBar progressBar;

    public BarThread(JProgressBar bar) {
      progressBar = bar;
    }

    public void run() {
      int minimum = progressBar.getMinimum();
      int maximum = progressBar.getMaximum();
      for (int i = minimum; i < maximum; i++) {
        try {
          int value = progressBar.getValue();
          progressBar.setValue(value + 1);

          Thread.sleep(DELAY);
        } catch (InterruptedException ignoredException) {
        }
      }
    }
  }

  public static void main(String args[]) {
    JFrame frame = new JFrame("Stepping Progress");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    final JProgressBar aJProgressBar = new JProgressBar(0, 50);
    aJProgressBar.setStringPainted(true);

    final JButton aJButton = new JButton("Start");

    ActionListener actionListener = new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        aJButton.setEnabled(false);
        Thread stepper = new BarThread(aJProgressBar);
        stepper.start();
      }
    };
    aJButton.addActionListener(actionListener);
    frame.add(aJProgressBar, BorderLayout.NORTH);
    frame.add(aJButton, BorderLayout.SOUTH);
    frame.setSize(300, 200);
    frame.setVisible(true);
  }
}










14.32.JProgressBar
14.32.1.JProgressBarJProgressBar
14.32.2.Creating a JProgressBar Component with an Unknown Maximum
14.32.3.A progress bar is used for lengthy tasks.
14.32.4.Labeling a JProgressBarLabeling a JProgressBar
14.32.5.Virtical JProgressBarVirtical JProgressBar
14.32.6.Creating a modal progress dialog
14.32.7.Set all the values at once by using the model
14.32.8.Using an Indeterminate JProgressBarUsing an Indeterminate JProgressBar
14.32.9.Displaying the Percentage Done on a JProgressBar Component
14.32.10.Getting and Setting the Values of a JProgressBar Component
14.32.11.Listening for Value Changes in a JProgressBar Component
14.32.12.Handling JProgressBar Events: notification of data model changes through a ChangeListenerHandling JProgressBar Events: notification of data model changes through a ChangeListener
14.32.13.ProgressBar and Task
14.32.14.SwingWorker and ProgressBar
14.32.15.Customizing JProgressBar Look and Feel