モジュール java.desktop
パッケージ javax.swing

クラスJProgressBar

すべての実装されたインタフェース:
ImageObserver, MenuContainer, Serializable, Accessible, SwingConstants

@JavaBean(defaultProperty="UI", description="A component that displays an integer value.") public class JProgressBar extends JComponent implements SwingConstants, Accessible
一部のタスクの進捗状況を視覚的に表示するコンポーネントです。 タスクの処理の進行にあわせて、進捗バーにタスクの完了した割合が表示されます。 この割合は、通常、長方形で表されます。最初、この長方形の内部は空ですが、タスクの進行とともに塗りつぶされていきます。 また、進捗バーにこの割合のテキスト表現を表示することもできます。

JProgressBarは、BoundedRangeModelをデータ・モデルとし、タスクの「現在の」状態を表すvalueプロパティ、タスクの開始点を表すminimumプロパティ、およびタスクの終了点を表すmaximumプロパティを指定して使用します。

不明な長さのタスクが実行されていることを示すには、進捗バーを不確定モードにすることができます。 バーが不確定モードの間は、常に処理が行われていることが動画で表示されます。 タスクの長さが判定されるとすぐに、進捗バーの値を更新して確定モードに戻します。

進捗バーの作成例を次に示します。taskはタスクの進捗状況を返すオブジェクトで、作業内容の一部を表します。

progressBar = new JProgressBar(0, task.getLengthOfTask());
progressBar.setValue(0);
progressBar.setStringPainted(true);
タスクの現在の状態を問い合わせ、戻り値を使って進捗バーを更新する例を次に示します。
progressBar.setValue(task.getCurrent());
進捗バーを不確定モードにし、タスクの長さが判明したら確定モードに戻す例です。
progressBar = new JProgressBar();
...//when the task of (initially) unknown length begins:
progressBar.setIndeterminate(true);
...//do some work; get length of task...
progressBar.setMaximum(newLength);
progressBar.setValue(newValue);
progressBar.setIndeterminate(false);

詳細な例および解説については、「The Java Tutorial」のセクション「How to Monitor Progress」を参照してください。

警告: Swingはスレッドに対して安全ではありません。 詳細は、「Swing's Threading Policy」を参照してください。

警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4では、すべてのJavaBeansの長期ストレージのサポートがjava.beansパッケージに追加されました。 XMLEncoderを参照してください。

導入されたバージョン:
1.2
関連項目:
  • フィールド詳細

    • orientation

      protected int orientation
      進捗バーが水平であるか垂直であるかを示します。 デフォルトはHORIZONTALです。
      関連項目:
    • paintBorder

      protected boolean paintBorder
      進捗バーの周囲にボーダーを表示するかどうかを示します。 デフォルトはtrueです。
      関連項目:
    • model

      protected BoundedRangeModel model
      進捗バーの値を保持するオブジェクトです。
      関連項目:
    • progressString

      protected String progressString
      進捗バーに表示できるオプションの文字列です。 デフォルトはnullです。 null以外の値に設定しても、必ずしも文字列が表示されるわけではありません。 文字列を表示する場合は、paintStringtrueにしてください。
      関連項目:
    • paintString

      protected boolean paintString
      進捗バーに文字列を表示するかどうかを設定します。 デフォルトはfalseです。 trueに設定すると、進捗状況のテキスト表示が進捗バーにレンダリングされます。 progressStringnullの場合、完了した割合が進捗バーに表示されます。 そうでない場合は、progressStringが進捗バーにレンダリングされます。
      関連項目:
    • changeEvent

      protected transient ChangeEvent changeEvent
      ChangeEventは、インスタンスごとに1つだけ必要です。これは、このイベントの扱うプロパティのソースが進捗バーだけであり、それ以外に変更されないためです。 はじめてイベント通知がトリガーされたときに、イベントは遅れて作成されます。
      関連項目:
    • changeListener

      protected ChangeListener changeListener
      進捗バーのモデルから送られた変更イベントを待機し、この進捗バーに登録された変更イベント・リスナーにふたたびディスパッチします。
      関連項目:
  • コンストラクタの詳細

  • メソッドの詳細

    • getOrientation

      public int getOrientation()
      進捗バーの方向に応じて、SwingConstants.VERTICALまたはSwingConstants.HORIZONTALを返します。 デフォルトの方向はSwingConstants.HORIZONTALです。
      戻り値:
      HORIZONTALまたはVERTICAL
      関連項目:
    • setOrientation

      @BeanProperty(preferred=true, visualUpdate=true, description="Set the progress bar\'s orientation.") public void setOrientation(int newOrientation)
      進捗バーの方向をnewOrientation (SwingConstants.VERTICALまたはSwingConstants.HORIZONTAL)に設定します。 デフォルトの方向はSwingConstants.HORIZONTALです。
      パラメータ:
      newOrientation - HORIZONTALまたはVERTICAL
      例外:
      IllegalArgumentException - newOrientationの値が無効な場合
      関連項目:
    • isStringPainted

      public boolean isStringPainted()
      stringPaintedプロパティの値を返します。
      戻り値:
      stringPaintedプロパティの値
      関連項目:
    • setStringPainted

      @BeanProperty(visualUpdate=true, description="Whether the progress bar should render a string.") public void setStringPainted(boolean b)
      stringPaintedプロパティの値を設定します。このプロパティは、進捗バーが進捗文字列をレンダリングするかどうかを指定します。 デフォルトではfalseに設定され、文字列はペイントされません。 進捗文字列をサポートしないルック・アンド・フィールや、進捗バーが確定モードのときにのみ進捗文字列をサポートするルック・アンド・フィールもあります。
      パラメータ:
      b - 進捗バーに文字列をレンダリングする場合はtrue
      関連項目:
    • getString

      public String getString()
      現在の進捗状況を表すString表現を返します。 デフォルトでは、getPercentCompleteの戻り値に基づいて、単純なパーセンテージを表すStringが返されます。 たとえば、「42%」のような文字列になります。 この設定は、setStringを呼び出すことで変更できます。
      戻り値:
      進捗文字列の値。進捗文字列がnullの場合、単純なパーセンテージを示す文字列
      関連項目:
    • setString

      @BeanProperty(visualUpdate=true, description="Specifies the progress string to paint") public void setString(String s)
      進捗文字列の値を設定します。 デフォルトでは、この文字列はnullで、単純なパーセンテージを表す文字列が返されます(組込みの動作)。 独自の進捗文字列を指定したあとで、組込みの動作に戻すには、文字列をnullに設定し直します。

      進捗文字列は、isStringPaintedtrueを返す場合にだけペイントされます。

      パラメータ:
      s - 進捗文字列の値
      関連項目:
    • getPercentComplete

      @BeanProperty(bound=false) public double getPercentComplete()
      進捗バーの完了したパーセントを返します。 値は0.0から1.0の範囲にあります。
      戻り値:
      進捗バーの完了したパーセント
    • isBorderPainted

      public boolean isBorderPainted()
      borderPaintedプロパティを返します。
      戻り値:
      borderPaintedプロパティの値
      関連項目:
    • setBorderPainted

      @BeanProperty(visualUpdate=true, description="Whether the progress bar should paint its border.") public void setBorderPainted(boolean b)
      borderPaintedプロパティを設定します。進捗バーがボーダーをペイントするようにするにはtrueに設定します。 このプロパティのデフォルト値はtrueです。 ルック・アンド・フィールによっては、ボーダーのペイントが実装されていない場合があります。その場合、このプロパティは無視されます。
      パラメータ:
      b - 進捗バーにボーダーをペイントする場合はtrue、そうでない場合はfalse
      関連項目:
    • paintBorder

      protected void paintBorder(Graphics g)
      borderPaintedプロパティがtrueである場合に、進捗バーのボーダーをペイントします。
      オーバーライド:
      paintBorder 、クラス:  JComponent
      パラメータ:
      g - ボーダーをペイントするGraphicsコンテキスト
      関連項目:
    • getUI

      public ProgressBarUI getUI()
      このコンポーネントをレンダリングするルック・アンド・フィールオブジェクトを返します。
      オーバーライド:
      クラスJComponentgetUI
      戻り値:
      このコンポーネントをレンダリングするProgressBarUIオブジェクト
    • setUI

      @BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component\'s LookAndFeel.") public void setUI(ProgressBarUI ui)
      このコンポーネントをレンダリングするルック・アンド・フィールオブジェクトを設定します。
      パラメータ:
      ui - ProgressBarUIオブジェクト
      関連項目:
    • updateUI

      public void updateUI()
      現在のルック・アンド・フィールからの値にUIプロパティをリセットします。
      オーバーライド:
      updateUI 、クラス:  JComponent
      関連項目:
    • getUIClassID

      @BeanProperty(bound=false, expert=true, description="A string that specifies the name of the look-and-feel class.") public String getUIClassID()
      このコンポーネントをレンダリングするルック・アンド・フィールクラスの名前を返します。
      オーバーライド:
      getUIClassID 、クラス:  JComponent
      戻り値:
      文字列「ProgressBarUI」
      関連項目:
    • createChangeListener

      protected ChangeListener createChangeListener()
      サブクラスが別の方法でモデルからの変更イベントを処理する場合は、このメソッドをオーバーライドしてChangeListenerのカスタム実装のインスタンスを返すことができます。 デフォルトのChangeListenerは、単純にfireStateChangedメソッドを呼び出すことにより、ChangeEventを、進捗バーに直接追加されたChangeListenerに転送します。
      戻り値:
      カスタムのChangeListener実装のインスタンス。
      関連項目:
    • addChangeListener

      public void addChangeListener(ChangeListener l)
      指定されたChangeListenerを進捗バーに追加します。
      パラメータ:
      l - 追加するChangeListener
    • removeChangeListener

      public void removeChangeListener(ChangeListener l)
      進捗バーからChangeListenerを削除します。
      パラメータ:
      l - 削除するChangeListener
    • getChangeListeners

      @BeanProperty(bound=false) public ChangeListener[] getChangeListeners()
      addChangeListenerを使用してこの進捗バーに追加されたすべてのChangeListenerの配列を返します。
      戻り値:
      追加されたすべてのChangeListener。リスナーが追加されていない場合は空の配列
      導入されたバージョン:
      1.4
    • fireStateChanged

      protected void fireStateChanged()
      このJProgressBarをソースとするChangeEventを、ChangeEventの通知を受ける登録をしているすべてのChangeListenerに送信します。 このメソッドは、モデルからChangeEventを受信するたびに呼び出されます。

      必要に応じてイベント・インスタンスが作成され、changeEventに格納されます。

      関連項目:
    • getModel

      public BoundedRangeModel getModel()
      この進捗バーが使っているデータ・モデルを返します。
      戻り値:
      現在使用されているBoundedRangeModel
      関連項目:
    • setModel

      @BeanProperty(bound=false, expert=true, description="The data model used by the JProgressBar.") public void setModel(BoundedRangeModel newModel)
      JProgressBarが使用するデータ・モデルを設定します。 BoundedRangeModelextentは使用しないため、0に設定されます。
      パラメータ:
      newModel - 使用するBoundedRangeModel
    • getValue

      public int getValue()
      BoundedRangeModelの進捗バーの現在のvalueを返します。 この値は常に、最小値以上、最大値以下の範囲に収まります。
      戻り値:
      進捗バーの現在の値
      関連項目:
    • getMinimum

      public int getMinimum()
      BoundedRangeModelから進捗バーのminimum値を返します。
      戻り値:
      進捗バーの最小値
      関連項目:
    • getMaximum

      public int getMaximum()
      BoundedRangeModelから進捗バーのmaximum値を返します。
      戻り値:
      進捗バーの最大値
      関連項目:
    • setValue

      @BeanProperty(bound=false, preferred=true, description="The progress bar\'s current value.") public void setValue(int n)
      進捗バーの現在の値をnに設定します。 このメソッドはモデルに新しい値を転送します。

      不適切な値を割り当てたことにより発生する数学的な問題は、データ・モデル(BoundedRangeModelインスタンス)が処理します。 詳細は、BoundedRangeModelのドキュメントを参照してください。

      新しい値が以前の値と異なる場合は、すべての変更リスナーが通知されます。

      パラメータ:
      n - 新しい値
      関連項目:
    • setMinimum

      @BeanProperty(bound=false, preferred=true, description="The progress bar\'s minimum value.") public void setMinimum(int n)
      進捗バーの最小値(進捗バーのデータ・モデルに格納)をnに設定します。

      不適切な値を割り当てたことにより発生する数学的な問題は、データ・モデル(BoundedRangeModelインスタンス)が処理します。 詳細は、BoundedRangeModelのドキュメントを参照してください。

      最小値が以前の最小値と異なる場合は、すべての変更リスナーが通知されます。

      パラメータ:
      n - 新しい最小値
      関連項目:
    • setMaximum

      @BeanProperty(bound=false, preferred=true, description="The progress bar\'s maximum value.") public void setMaximum(int n)
      進捗バーの最大値(進捗バーのデータ・モデルに格納)をnに設定します。

      不適切な値を割り当てたことにより発生する数学的な問題は、ベースとなるBoundedRangeModelが処理します。 詳細は、BoundedRangeModelのドキュメントを参照してください。

      最大値が以前の最大値と異なる場合は、すべての変更リスナーが通知されます。

      パラメータ:
      n - 新しい最大値
      関連項目:
    • setIndeterminate

      public void setIndeterminate(boolean newValue)
      進捗バーのindeterminateプロパティを設定します。このプロパティは、進捗バーが確定モードであるか不確定モードであるかを指定します。 不確定モードの進捗バーは、連続的にアニメーションを表示して、不明な長さの処理が行われていることを示します。 デフォルトでは、このプロパティはfalseに設定されます。 ルック・アンド・フィールによっては、不確定モードの進捗バーがサポートされていない場合があります。その場合、このプロパティは無視されます。

      不確定モードの進捗バーの使用例については、「How to Monitor Progress」を参照してください。

      パラメータ:
      newValue - 進捗バーを不確定モードに切り替える場合はtrue、通常モードに戻す場合はfalse
      導入されたバージョン:
      1.4
      関連項目:
    • isIndeterminate

      @BeanProperty(bound=false, description="Is the progress bar indeterminate (true) or normal (false)?") public boolean isIndeterminate()
      indeterminateプロパティの値を返します。
      戻り値:
      indeterminateプロパティの値
      導入されたバージョン:
      1.4
      関連項目:
    • paramString

      protected String paramString()
      このJProgressBarの文字列表現を返します。 このメソッドは、デバッグ専用です。 返される文字列の内容および形式は実装によって異なる可能性があります。 返される文字列は空の場合がありますが、nullにはなりません。
      オーバーライド:
      paramString 、クラス:  JComponent
      戻り値:
      このJProgressBarの文字列表現
    • getAccessibleContext

      @BeanProperty(bound=false, expert=true, description="The AccessibleContext associated with this ProgressBar.") public AccessibleContext getAccessibleContext()
      このJProgressBarに関連付けられているAccessibleContextを取得します。 進捗バーの場合、AccessibleContextAccessibleJProgressBarの形式を取ります。 必要に応じて、新しいAccessibleJProgressBarインスタンスが作成されます。
      定義:
      getAccessibleContext、インタフェース: Accessible
      オーバーライド:
      getAccessibleContext、クラス: Component
      戻り値:
      このJProgressBarAccessibleContextとして機能するAccessibleJProgressBar