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

クラスBasicProgressBarUI

直系の既知のサブクラス:
MetalProgressBarUI, SynthProgressBarUI

public class BasicProgressBarUI
extends ProgressBarUI
ProgressBarUIの基本L&F実装です。
  • ネストされたクラスのサマリー

    ネストされたクラス 
    修飾子と型 クラス 説明
    class  BasicProgressBarUI.ChangeHandler
    このクラスは、「protected」内部クラスとして扱うようにしてください。
  • フィールドのサマリー

    フィールド 
    修飾子と型 フィールド 説明
    protected Rectangle boxRect
    ペイントされる(getBoxによって返された)バウンシング・ボックスの位置とサイズを保持するために使用します。
    protected ChangeListener changeListener
    ChangeListenerのインスタンス。
    protected JProgressBar progressBar
    JProgressBarのインスタンス。
  • コンストラクタのサマリー

    コンストラクタ 
    コンストラクタ 説明
    BasicProgressBarUI()  
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    static ComponentUI createUI​(JComponent x)
    BasicProgressBarUIの新しいインスタンスを返します。
    protected int getAmountFull​(Insets b, int width, int height)
    モデルから集めた完了パーセント情報に基づいて、塗りつぶすべき進捗バーの量を決定します。
    protected int getAnimationIndex()
    現在のアニメーション・フレームのインデックスを取得します。
    int getBaseline​(JComponent c, int width, int height)
    ベースラインを返します。
    Component.BaselineResizeBehavior getBaselineResizeBehavior​(JComponent c)
    サイズの変化に合わせてコンポーネントのベースラインがどのように変化するかを示す列挙を返します。
    protected Rectangle getBox​(Rectangle r)
    現在のアニメーション・インデックス用にペイントされるバウンシング・ボックスの位置とサイズをrに格納し、rを返します。
    protected int getBoxLength​(int availableLength, int otherDimension)
    ペイントされる「バウンシング・ボックス」の長さを返します。
    protected int getCellLength()
    進捗バーにレンダリングされる個々のセルおよび単位の幅(HORIZONTALの場合)または高さ(VERTICALの場合)を返します。
    protected int getCellSpacing()
    進捗バーにある各セルおよび単位の間隔を返します。
    protected int getFrameCount()
    不確定モードのJProgressBarで使用される完全なアニメーション・ループのためのフレーム数を返します。
    Dimension getMinimumSize​(JComponent c)
    このコンポーネントの最小サイズは10です。
    protected Dimension getPreferredInnerHorizontal()
    水平JProgressBarの優先サイズを返します。
    protected Dimension getPreferredInnerVertical()
    垂直JProgressBarの優先サイズを返します。
    protected Color getSelectionBackground()
    selectionBackgroundは、進捗バーの塗りつぶされていない領域をペイントするときのテキストの色です。
    protected Color getSelectionForeground()
    selectionForegroundは、進捗バーの塗りつぶされた領域をペイントするときのテキストの色です。
    protected Point getStringPlacement​(Graphics g, String progressString, int x, int y, int width, int height)
    進捗文字列のペイント位置を指定します。
    protected void incrementAnimationIndex()
    現在のアニメーション・フレームのインデックスを次の有効値に設定します(進捗バーが再ペイントされます)。
    protected void installDefaults()
    デフォルトのプロパティをインストールします。
    protected void installListeners()
    リスナーを登録します。
    void paint​(Graphics g, JComponent c)
    ペイントを2つのメソッドpaintDeterminateまたはpaintIndeterminateのどちらかに委譲します。
    protected void paintDeterminate​(Graphics g, JComponent c)
    ほぼすべての確定モードのリニアな進捗バーで正しく動作する、汎用のpaintメソッドです。
    protected void paintIndeterminate​(Graphics g, JComponent c)
    すべてのリニアなバウンシング・ボックス進捗バーで正しく動作する、汎用のpaintメソッドです。
    protected void paintString​(Graphics g, int x, int y, int width, int height, int amountFull, Insets b)
    進捗文字列をペイントします。
    protected void setAnimationIndex​(int newValue)
    現在のアニメーション・フレームのインデックスを指定された値に設定し、進捗バーをペイントし直すよう要求します。
    protected void setCellLength​(int cellLen)
    セルの長さを設定します。
    protected void setCellSpacing​(int cellSpace)
    セルの間隔を設定します。
    protected void startAnimationTimer()
    アニメーション・スレッドを起動します(必要に応じて作成して初期化します)。
    protected void stopAnimationTimer()
    アニメーション・スレッドを停止します。
    protected void uninstallDefaults()
    Unintallsデフォルトのプロパティ。
    protected void uninstallListeners()
    このオブジェクトがインストールしたすべてのリスナーを削除します。

    クラス java.lang.Objectで宣言されたメソッド

    cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait
  • フィールド詳細

    • progressBar

      protected JProgressBar progressBar
      JProgressBarのインスタンス。
    • changeListener

      protected ChangeListener changeListener
      ChangeListenerのインスタンス。
    • boxRect

      protected Rectangle boxRect
      ペイントされる(getBoxによって返された)バウンシング・ボックスの位置とサイズを保持するために使用します。
      導入されたバージョン:
      1.5
  • コンストラクタの詳細

  • メソッドの詳細

    • createUI

      public static ComponentUI createUI​(JComponent x)
      BasicProgressBarUIの新しいインスタンスを返します。
      パラメータ:
      x - コンポーネント
      戻り値:
      BasicProgressBarUIの新しいインスタンス
    • installDefaults

      protected void installDefaults()
      デフォルトのプロパティをインストールします。
    • uninstallDefaults

      protected void uninstallDefaults()
      Unintallsデフォルトのプロパティ。
    • installListeners

      protected void installListeners()
      リスナーを登録します。
    • startAnimationTimer

      protected void startAnimationTimer()
      アニメーション・スレッドを起動します(必要に応じて作成して初期化します)。 このメソッドは、不確定モードの進捗バーがアニメーションを開始するべきときに呼び出されます。 これには次のような理由があります。
      • 進捗バーが確定モードで、表示可能になった
      • 進捗バーが表示可能で、確定モードになった
      • 進捗バーが表示可能で、確定モードであり、このUIがインストールされている
      独自のアニメーション・スレッドを実装する場合は、このメソッドをオーバーライドする必要があります。
      導入されたバージョン:
      1.4
      関連項目:
      stopAnimationTimer()
    • stopAnimationTimer

      protected void stopAnimationTimer()
      アニメーション・スレッドを停止します。 このメソッドは、不確定モードのアニメーションを停止するべきときに呼び出されます。 これには次のような理由があります。
      • 進捗バーが確定モードに変わる
      • 進捗バーが表示可能階層に含まれなくなった
      • このUIがアンインストールされた
      独自のアニメーション・スレッドを実装する場合は、このメソッドをオーバーライドする必要があります。
      導入されたバージョン:
      1.4
      関連項目:
      startAnimationTimer()
    • uninstallListeners

      protected void uninstallListeners()
      このオブジェクトがインストールしたすべてのリスナーを削除します。
    • getBaseline

      public int getBaseline​(JComponent c, int width, int height)
      ベースラインを返します。
      オーバーライド:
      getBaseline、クラス: ComponentUI
      パラメータ:
      c - ベースラインが要求されるJComponent
      width - ベースラインを取得する幅
      height - ベースラインを取得する高さ
      戻り値:
      ベースラインまたは0より小さい値(適切なベースラインがないことを示す)
      例外:
      NullPointerException - cnullである場合
      IllegalArgumentException - 幅または高さが0より小さい場合
      導入されたバージョン:
      1.6
      関連項目:
      JComponent.getBaseline(int, int)
    • getBaselineResizeBehavior

      public Component.BaselineResizeBehavior getBaselineResizeBehavior​(JComponent c)
      サイズの変化に合わせてコンポーネントのベースラインがどのように変化するかを示す列挙を返します。
      オーバーライド:
      getBaselineResizeBehavior、クラス: ComponentUI
      パラメータ:
      c - ベースラインのサイズ変更の動作を返すJComponent
      戻り値:
      コンポーネント・サイズの変化に合わせてベースラインがどのように変化するかを示す列挙
      例外:
      NullPointerException - cnullである場合
      導入されたバージョン:
      1.6
      関連項目:
      JComponent.getBaseline(int, int)
    • getPreferredInnerHorizontal

      protected Dimension getPreferredInnerHorizontal()
      水平JProgressBarの優先サイズを返します。
      戻り値:
      水平JProgressBarの優先サイズ
    • getPreferredInnerVertical

      protected Dimension getPreferredInnerVertical()
      垂直JProgressBarの優先サイズを返します。
      戻り値:
      垂直方向の優先サイズJProgressBar
    • getSelectionForeground

      protected Color getSelectionForeground()
      selectionForegroundは、進捗バーの塗りつぶされた領域をペイントするときのテキストの色です。
      戻り値:
      選択されたフォアグラウンドの色
    • getSelectionBackground

      protected Color getSelectionBackground()
      selectionBackgroundは、進捗バーの塗りつぶされていない領域をペイントするときのテキストの色です。
      戻り値:
      選択されたバックグラウンドの色
    • getCellLength

      protected int getCellLength()
      進捗バーにレンダリングされる個々のセルおよび単位の幅(HORIZONTALの場合)または高さ(VERTICALの場合)を返します。 ただし、テキストのレンダリングの簡略化、および表示上の美しさの観点から、進捗文字列がレンダリングされている間はこの関数は1を返します。
      戻り値:
      セルの間隔を表す値
      関連項目:
      setCellLength(int), JProgressBar.isStringPainted()
    • setCellLength

      protected void setCellLength​(int cellLen)
      セルの長さを設定します。
      パラメータ:
      cellLen - 新しいセルの長さ
    • getCellSpacing

      protected int getCellSpacing()
      進捗バーにある各セルおよび単位の間隔を返します。 ただし、テキストのレンダリングの簡略化、および表示上の美しさの観点から、進捗文字列がレンダリングされている間はこの関数は0を返します。
      戻り値:
      セルの間隔を表す値
      関連項目:
      setCellSpacing(int), JProgressBar.isStringPainted()
    • setCellSpacing

      protected void setCellSpacing​(int cellSpace)
      セルの間隔を設定します。
      パラメータ:
      cellSpace - 新しいセル間隔
    • getAmountFull

      protected int getAmountFull​(Insets b, int width, int height)
      モデルから集めた完了パーセント情報に基づいて、塗りつぶすべき進捗バーの量を決定します。 これは共通操作なので、抽象化されています。 進捗バーがリニアであると想定しています。 すなわち、円形の進捗インジケータを作成する場合は、このメソッドをオーバーライドすることをお勧めします。
      パラメータ:
      b - insets
      width - 幅
      height - 高さ
      戻り値:
      塗り潰すべきプログレス・バーの量
    • paint

      public void paint​(Graphics g, JComponent c)
      ペイントを2つのメソッドpaintDeterminateまたはpaintIndeterminateのどちらかに委譲します。
      オーバーライド:
      paint、クラス: ComponentUI
      パラメータ:
      g - ペイント対象のGraphicsコンテキスト
      c - ペイントされるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある
      関連項目:
      ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)
    • getBox

      protected Rectangle getBox​(Rectangle r)
      現在のアニメーション・インデックス用にペイントされるバウンシング・ボックスの位置とサイズをrに格納し、rを返します。 paintIndeterminateのこのクラスの実装で実行されるペイントに追加するサブクラスは - たとえば、バウンシング・ボックスの周りにアウトラインを描画するために - このメソッドを使用してペイントされたばかりのバウンシング・ボックスの位置を取得できます。 このメソッドをオーバーライドすることにより、paintIndeterminateを実装し直さなくても、バウンシング・ボックスのサイズと位置を完全に制御できます。
      パラメータ:
      r - 変更されるRectangleのインスタンス。null
      戻り値:
      ボックスが描画されない場合はnull。そうでない場合は渡された矩形(null以外の場合)、または新しい矩形
      導入されたバージョン:
      1.4
      関連項目:
      setAnimationIndex(int)
    • getBoxLength

      protected int getBoxLength​(int availableLength, int otherDimension)
      ペイントされる「バウンシング・ボックス」の長さを返します。 このメソッドは、ボックスの幅(進捗バーが水平方向の場合)または高さ(進捗バーが垂直方向の場合)を取得するために、paintIndeterminateのデフォルト実装によって呼び出されます。 次に例を示します。
      boxRect.width = getBoxLength(componentInnards.width,
                                   componentInnards.height);
       
      パラメータ:
      availableLength - 入っていくバウンシング・ボックスに利用できるスペースの量。たとえば、水平方向の進捗バーでは、進捗バーの内部の幅(コンポーネント幅からボーダーを引いた値)
      otherDimension - 水平方向の進捗バーでは、進捗バーの内部の高さ。この値は、戻り値を制限または決定するために使用できる
      戻り値:
      大きさが決定されるボックスのサイズ。availableLength以下である必要がある
      導入されたバージョン:
      1.5
      関連項目:
      SwingUtilities.calculateInnerArea(javax.swing.JComponent, java.awt.Rectangle)
    • paintIndeterminate

      protected void paintIndeterminate​(Graphics g, JComponent c)
      すべてのリニアなバウンシング・ボックス進捗バーで正しく動作する、汎用のpaintメソッドです。 別の種類の進捗バーを作成している場合は、このメソッドをオーバーライドしてください。
      パラメータ:
      g - Graphicsのインスタンス
      c - コンポーネント
      導入されたバージョン:
      1.4
      関連項目:
      paintDeterminate(java.awt.Graphics, javax.swing.JComponent)
    • paintDeterminate

      protected void paintDeterminate​(Graphics g, JComponent c)
      ほぼすべての確定モードのリニアな進捗バーで正しく動作する、汎用のpaintメソッドです。 デフォルトのテーブルにいくつかの値を設定するだけで、進捗バーのペイントが問題なく動作するようになります。 当然のことですが、円形または半円形の進捗バーを作成する場合には、このメソッドをオーバーライドしてください。
      パラメータ:
      g - Graphicsのインスタンス
      c - コンポーネント
      導入されたバージョン:
      1.4
      関連項目:
      paintIndeterminate(java.awt.Graphics, javax.swing.JComponent)
    • paintString

      protected void paintString​(Graphics g, int x, int y, int width, int height, int amountFull, Insets b)
      進捗文字列をペイントします。
      パラメータ:
      g - Graphicsのインスタンス
      x - 境界ボックスのXロケーション
      y - 境界ボックスのYロケーション
      width - ボックスの幅
      height - ボックスの高さ
      amountFull - 塗り領域のサイズ。方向に応じて幅または高さのいずれか。
      b - プログレス・バーのインセット。
    • getStringPlacement

      protected Point getStringPlacement​(Graphics g, String progressString, int x, int y, int width, int height)
      進捗文字列のペイント位置を指定します。 この実装は、進捗バーの中央(xおよびyの両方)に文字列を配置します。 進捗文字列を右、左、上、または下に配置する場合、あるいは何らかの理由で少し動かす場合は、このメソッドをオーバーライドしてください。
      パラメータ:
      g - Graphicsのインスタンス
      progressString - テキスト
      x - X座標
      y - Y座標
      width - 幅
      height - 高さ
      戻り値:
      進行文字列が描画される場所
    • getMinimumSize

      public Dimension getMinimumSize​(JComponent c)
      このコンポーネントの最小サイズは10です。 10パーセントごとに1ピクセル以上が必要なためです。
      オーバーライド:
      getMinimumSize、クラス: ComponentUI
      パラメータ:
      c - 最小サイズが照会されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある
      戻り値:
      Dimensionオブジェクトまたはnull
      関連項目:
      JComponent.getMinimumSize(), LayoutManager.minimumLayoutSize(java.awt.Container), ComponentUI.getPreferredSize(javax.swing.JComponent)
    • getAnimationIndex

      protected int getAnimationIndex()
      現在のアニメーション・フレームのインデックスを取得します。
      戻り値:
      現在のアニメーション・フレームのインデックス
      導入されたバージョン:
      1.4
    • getFrameCount

      protected final int getFrameCount()
      不確定モードのJProgressBarで使用される完全なアニメーション・ループのためのフレーム数を返します。 進捗状況チャンクは、全体をループする間、一方の端からもう一方の端への移動を繰り返します。 この視覚的な動作は、ほかのLook & Feelのサブクラスによって変更できます。
      戻り値:
      フレーム数
      導入されたバージョン:
      1.6
    • setAnimationIndex

      protected void setAnimationIndex​(int newValue)
      現在のアニメーション・フレームのインデックスを指定された値に設定し、進捗バーをペイントし直すよう要求します。 デフォルトのペイント・コードを使用しないサブクラスは、このメソッドをオーバーライドして、repaintメソッドの起動方法を変更する必要がある場合があります。
      パラメータ:
      newValue - 新しいアニメーション・インデックス。この値はチェックされない
      導入されたバージョン:
      1.4
      関連項目:
      incrementAnimationIndex()
    • incrementAnimationIndex

      protected void incrementAnimationIndex()
      現在のアニメーション・フレームのインデックスを次の有効値に設定します(進捗バーが再ペイントされます)。 次の有効値は、デフォルトでは、現在のアニメーション・インデックスに1を足したものです。 新しい値が大きすぎる場合、このメソッドはインデックスを0に設定します。 インデックスが特定の進捗バー・インスタンスに必要なフレーム数を超えないようにするには、サブクラスがこのメソッドをオーバーライドする必要がある場合があります。 このメソッドは、Xミリ秒ごとに、デフォルト・アニメーション・スレッドにより起動されます(Xは「ProgressBar.repaintInterval」のUIデフォルトによって指定されます)。
      導入されたバージョン:
      1.4
      関連項目:
      setAnimationIndex(int)