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

クラスBasicProgressBarUI

    • ネストされたクラスのサマリー

      ネストされたクラス 
      修飾子と型 クラス 説明
      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 getMaximumSize​(JComponent c)
      指定されたコンポーネントの、Look & Feelに適した最大サイズを返します。
      Dimension getMinimumSize​(JComponent c)
      このコンポーネントの最小サイズは10です。
      protected Dimension getPreferredInnerHorizontal​()
      水平JProgressBarの優先サイズを返します。
      protected Dimension getPreferredInnerVertical​()
      垂直JProgressBarの優先サイズを返します。
      Dimension getPreferredSize​(JComponent c)
      指定されたコンポーネントの、Look & Feelに適した推奨サイズを返します。
      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 installUI​(JComponent c)
      指定されたコンポーネントをLook & Feelに応じて適切に構成します。
      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​()
      このオブジェクトがインストールしたすべてのリスナーを削除します。
      void uninstallUI​(JComponent c)
      installUI時に、指定されたコンポーネントに対して行われた構成を取り消します。
    • フィールドの詳細

      • progressBar

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

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

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

      • BasicProgressBarUI

        public BasicProgressBarUI​()
    • メソッドの詳細

      • createUI

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

        public void installUI​(JComponent c)
        クラスからコピーされた説明: ComponentUI
        指定されたコンポーネントをLook & Feelに応じて適切に構成します。 このメソッドは、ComponentUIインスタンスが、指定されたコンポーネントのUI委譲としてインストールされているときに呼び出されます。 このメソッドは、次を含むLook & Feel用のコンポーネントを完全に構成するべきです。
        1. カラー、フォント、ボーダー、アイコン、不透明さなどのデフォルト・プロパティ値をコンポーネントにインストールする。 可能な場合は常に、クライアント・プログラムによって初期化されたプロパティの値をオーバーライドするべきではない
        2. 必要に応じて、コンポーネントにLayoutManagerをインストールする。
        3. 必要なサブコンポーネントを作成して、コンポーネントに追加する。
        4. イベント・リスナーを作成して、コンポーネントにインストールする。
        5. コンポーネントのプロパティの変更を適切に検出し、応答するために、PropertyChangeListenerを作成してコンポーネントにインストールする。
        6. キーボードUI (ニーモニック、トラバーサルなど)を、コンポーネントにインストールする。
        7. 適切なインスタンスのデータを初期化する。
        オーバーライド:
        installUI、クラス: ComponentUI
        パラメータ:
        c - UI委譲がインストールされるコンポーネント
        関連項目:
        ComponentUI.uninstallUI(javax.swing.JComponent), JComponent.setUI(javax.swing.plaf.ComponentUI), JComponent.updateUI()
      • uninstallUI

        public void uninstallUI​(JComponent c)
        クラスからコピーされた説明: ComponentUI
        installUI時に、指定されたコンポーネントに対して行われた構成を取り消します。 このメソッドは、このUIComponentインスタンスが、指定されたコンポーネントのUI委譲として削除されているときに呼び出されます。 このメソッドは、installUIによって実行された構成を元に戻すべきです。この場合、JComponentインスタンスをクリーンな状態(余分なリスナーや、Look & Feel固有のプロパティ・オブジェクトが残らないように)にするよう十分注意してください。 手順には次のものが含まれるべきです。
        1. UIとして設定されたすべてのボーダーを、コンポーネントから削除する。
        2. UIとして設定されたすべてのレイアウト・マネージャを、コンポーネントから削除する。
        3. UIとして追加されたすべてのサブコンポーネントを、コンポーネントから削除する。
        4. UIとして追加されたすべてのイベント/プロパティ・リスナーを、コンポーネントから削除する。
        5. UIとしてインストールされたすべてのキーボードUIを、コンポーネントから削除する。
        6. GCの対象になるように、割り当てられたすべてのインスタンス・データ・オブジェクトをnullに設定する。
        オーバーライド:
        uninstallUI、クラス: ComponentUI
        パラメータ:
        c - このUI委譲が削除されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある
        関連項目:
        ComponentUI.installUI(javax.swing.JComponent), JComponent.updateUI()
      • 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 - 高さ
        戻り値:
        進行文字列が描画される場所
      • getPreferredSize

        public Dimension getPreferredSize​(JComponent c)
        クラスからコピーされた説明: ComponentUI
        指定されたコンポーネントの、Look & Feelに適した推奨サイズを返します。 nullが返された場合、適切なサイズは代わりにコンポーネントのレイアウト・マネージャによって計算されます(これは、特定のレイアウト・マネージャをインストールしてあるコンポーネントの場合に推奨する方法です)。 このメソッドのデフォルト実装はnullを返します。
        オーバーライド:
        getPreferredSize、クラス: ComponentUI
        パラメータ:
        c - 推奨サイズが照会されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある
        戻り値:
        Look&Feelに適した指定されたコンポーネントの優先サイズを含むDimensionオブジェクト
        関連項目:
        JComponent.getPreferredSize(), LayoutManager.preferredLayoutSize(java.awt.Container)
      • getMaximumSize

        public Dimension getMaximumSize​(JComponent c)
        クラスからコピーされた説明: ComponentUI
        指定されたコンポーネントの、Look & Feelに適した最大サイズを返します。 nullが返された場合、最大サイズは代わりにコンポーネントのレイアウト・マネージャによって計算されます(これは、特定のレイアウト・マネージャをインストールしてあるコンポーネントの場合に推奨する方法です)。 このメソッドのデフォルト実装はgetPreferredSizeを呼び出して、その値を返します。
        オーバーライド:
        getMaximumSize、クラス: ComponentUI
        パラメータ:
        c - 最大サイズが照会されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある
        戻り値:
        Dimensionオブジェクトまたはnull
        関連項目:
        JComponent.getMaximumSize(), LayoutManager2.maximumLayoutSize(java.awt.Container)
      • 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)