2011-12-14 7 views

答えて

0

一つの方法は、JProgressBargetString()メソッドをオーバーライドすることである:

public class CustomProgressBar extends javax.swing.JProgressBar { 

    @Override 
    public String getString() { 
     return getValue() + ""; 
    } 

} 

あなたはそれぞれ0と32に最小値と最大値を設定すると仮定し、進捗状況の値がsetValue()メソッドを使用して、あなたのプログレスバーは現在、32

に0からの整数を示し、ここで働く例であるだろう。

import javax.swing.JOptionPane; 
import javax.swing.SwingWorker; 

public class ProgressBarExample { 

    public static void main(String[] args) { 
     final CustomProgressBar customProgressBar = new CustomProgressBar(); 
     customProgressBar.setMaximum(32); 
     customProgressBar.setStringPainted(true); 
     new SwingWorker<Void, Void>() { 
      @Override 
      protected Void doInBackground() throws Exception { 
       int value = 0; 
       Thread.sleep(1500); 
       while (value < customProgressBar.getMaximum()) { 
        Thread.sleep(250); 
        value ++; 
        customProgressBar.setValue(value); 
       } 
       return null; 
      } 
     }.execute(); 
     JOptionPane.showMessageDialog(null, customProgressBar, "Progress bar example", JOptionPane.PLAIN_MESSAGE); 
    } 

} 
関連する問題