JavaTM 2
Platform
Std. Ed. v1.4.0

javax.swing.plaf.basic
クラス BasicProgressBarUI

java.lang.Object
  |
  +--javax.swing.plaf.ComponentUI
        |
        +--javax.swing.plaf.ProgressBarUI
              |
              +--javax.swing.plaf.basic.BasicProgressBarUI
直系の既知のサブクラス:
MetalProgressBarUI

public class BasicProgressBarUI
extends ProgressBarUI

ProgressBarUI の基本 Look & Feel による実装です。


入れ子クラスの概要
 class BasicProgressBarUI.ChangeHandler
          この内部クラスは public とマークされますが、これはコンパイラのバグが原因です。
 
フィールドの概要
protected  ChangeListener changeListener
           
protected  JProgressBar progressBar
           
 
コンストラクタの概要
BasicProgressBarUI()
           
 
メソッドの概要
static ComponentUI createUI(JComponent x)
          指定されたコンポーネントの UI 委譲のインスタンスを返します。
protected  int getAmountFull(Insets b, int width, int height)
          モデルから集めた完了パーセント情報に基づいて、塗りつぶされる進捗バーの量を決定します。
protected  int getAnimationIndex()
          現在のアニメーションフレームのインデックスを取得します。
protected  Rectangle getBox(Rectangle r)
          現在のアニメーションインデックスのために r でペイントされ、r を返すバウンシングボックスの位置とサイズを格納します。
protected  int getCellLength()
          進捗バーに描画される個々のセルおよび単位の幅 (HORIZONTAL の場合) または高さ (VERTICAL の場合) を返します。
protected  int getCellSpacing()
          進捗バーにある各セルおよび単位の間隔を返します。
 Dimension getMaximumSize(JComponent c)
          Look & Feel に適した、指定されたコンポーネントの最大サイズを返します。
 Dimension getMinimumSize(JComponent c)
          このコンポーネントでの最小サイズは 10 です。
protected  Dimension getPreferredInnerHorizontal()
           
protected  Dimension getPreferredInnerVertical()
           
 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()
           
protected  void uninstallListeners()
          このオブジェクトがインストールしたすべてのリスナーを削除します。
 void uninstallUI(JComponent c)
          installUI 時に、指定されたコンポーネントで実行した構成を取り消します。
 
クラス javax.swing.plaf.ComponentUI から継承したメソッド
contains, getAccessibleChild, getAccessibleChildrenCount, update
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

progressBar

protected JProgressBar progressBar

changeListener

protected ChangeListener changeListener
コンストラクタの詳細

BasicProgressBarUI

public BasicProgressBarUI()
メソッドの詳細

createUI

public static ComponentUI createUI(JComponent x)
クラス ComponentUI の記述:
指定されたコンポーネントの UI 委譲のインスタンスを返します。各サブクラスは、それ自体の静的な createUI メソッドを提供して、その UI 委譲のサブクラスのインスタンスを返す必要があります。UI 委譲のサブクラスが状態なしの場合、複数のコンポーネントに共有されるインスタンスを返します。UI 委譲が状態ありの場合、コンポーネントごとに新しいインスタンスを返す必要があります。このメソッドは呼び出してはいけないため、そのデフォルト実装はエラーをスローします。


installUI

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

オーバーライド:
クラス ComponentUI 内の installUI
パラメータ:
c - UI 委譲がインストールされているコンポーネント
関連項目:
ComponentUI.uninstallUI(javax.swing.JComponent), JComponent.setUI(javax.swing.plaf.ComponentUI), JComponent.updateUI()

uninstallUI

public void uninstallUI(JComponent c)
クラス ComponentUI の記述:
installUI 時に、指定されたコンポーネントで実行した構成を取り消します。このメソッドは、指定されたコンポーネントの UI 委譲としての UIComponent インスタンスが削除されているときに呼び出されます。このメソッドは、installUI によって実行された構成を元に戻す必要があります。この場合、JComponent インスタンスをクリーンな状態 (余分なリスナーや、Look & Feel 固有のプロパティオブジェクトが残らないように) にするよう十分注意してください。手順には次のものがあります。
  1. UI として設定されたすべてのボーダを、コンポーネントから削除する
  2. UI として設定されたすべてのレイアウトマネージャを、コンポーネントから削除する
  3. UI として追加されたすべてのサブコンポーネントを、コンポーネントから削除する
  4. UI として追加されたすべてのイベント/リスナーを、コンポーネントから削除する
  5. UI としてインストールされたすべてのキーボード UI を、コンポーネントから削除する
  6. GC 用に割り当てられたすべてのインスタンスのデータオブジェクトを無効にする

オーバーライド:
クラス ComponentUI 内の uninstallUI
パラメータ:
c - この UI 委譲が削除されるコンポーネント。この引数はしばしば無視されるが、UI オブジェクトが状態なしで複数のコンポーネントに共有される場合に使用されることがある
関連項目:
ComponentUI.installUI(javax.swing.JComponent), JComponent.updateUI()

installDefaults

protected void installDefaults()

uninstallDefaults

protected void uninstallDefaults()

installListeners

protected void installListeners()

startAnimationTimer

protected void startAnimationTimer()
必要であればアニメーションスレッドを作成、初期化して、これを起動します。進捗バーが不確定モードに変わると、このメソッドが呼び出されます。独自のアニメーションスレッドを実装する場合、このメソッドをオーバーライドする必要があります。

導入されたバージョン:
1.4

stopAnimationTimer

protected void stopAnimationTimer()
アニメーションスレッドを停止します。進捗バーが不確定モードから確定モードに変わり、UI がアンインストールされた場合、このメソッドが起動されます。独自のアニメーションスレッドを実装する場合、このメソッドをオーバーライドする必要があります。

導入されたバージョン:
1.4

uninstallListeners

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


getPreferredInnerHorizontal

protected Dimension getPreferredInnerHorizontal()

getPreferredInnerVertical

protected Dimension getPreferredInnerVertical()

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)

getCellSpacing

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

戻り値:
セルの間隔を表す値
関連項目:
setCellSpacing(int), JProgressBar.isStringPainted()

setCellSpacing

protected void setCellSpacing(int cellSpace)

getAmountFull

protected int getAmountFull(Insets b,
                            int width,
                            int height)
モデルから集めた完了パーセント情報に基づいて、塗りつぶされる進捗バーの量を決定します。これは共用のオペレーションなので、抽象化されています。ここでは、使用する進捗バーが直線であると想定しています。すなわち、円形の進捗インジケータを作成する場合は、このメソッドをオーバーライドすることができます。


paint

public void paint(Graphics g,
                  JComponent c)
ペイントを 2 つのメソッド paintDeterminate または paintIndeterminate のどちらかに委譲します。

オーバーライド:
クラス ComponentUI 内の paint
パラメータ:
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)

paintIndeterminate

protected void paintIndeterminate(Graphics g,
                                  JComponent c)
すべての直線バウンシングボックス進捗バーが正しく動作する、汎用の paint メソッドです。別の種類の進捗バーを作成している場合は、このメソッドをオーバーライドしてください。

導入されたバージョン:
1.4
関連項目:
paintDeterminate(java.awt.Graphics, javax.swing.JComponent)

paintDeterminate

protected void paintDeterminate(Graphics g,
                                JComponent c)
ほぼすべての直線不確定進捗バーで正しく動作する、汎用の paint メソッドです。デフォルトのテーブルに値を設定するだけで、進捗バーのペイントが問題なく動作するようになります。円形、あるいは半円形の進捗バーを作成する場合には、このメソッドをオーバーライドしてください。

導入されたバージョン:
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)

getStringPlacement

protected Point getStringPlacement(Graphics g,
                                   String progressString,
                                   int x,
                                   int y,
                                   int width,
                                   int height)
進捗文字列のペイント位置を指定します。この実装では、進捗バーの中央 (x および y の両方) に文字列を配置します。進捗文字列を右、左、上、あるいは下に配置する場合、あるいはなんらかの理由で削除する場合は、このメソッドをオーバーライドしてください。


getPreferredSize

public Dimension getPreferredSize(JComponent c)
クラス ComponentUI の記述:
Look & Feel に適した、指定されたコンポーネントの適切なサイズを返します。null が返される場合、適切なサイズは代わりにコンポーネントのレイアウトマネージャによって計算されます (これは、特定のレイアウトマネージャをインストールしてあるコンポーネントの場合に推奨する方法です)。このメソッドのデフォルト実装は null を返します。

オーバーライド:
クラス ComponentUI 内の getPreferredSize
パラメータ:
c - 適切なサイズが照会されるコンポーネント。この引数はしばしば無視されるが、UI オブジェクトが状態なしで複数のコンポーネントに共有される場合に使用されることがある
関連項目:
JComponent.getPreferredSize(), LayoutManager.preferredLayoutSize(java.awt.Container)

getMinimumSize

public Dimension getMinimumSize(JComponent c)
このコンポーネントでの最小サイズは 10 です。10 パーセントに対して 1 ピクセル以上を対応させるようにする必要があります。

オーバーライド:
クラス ComponentUI 内の getMinimumSize
パラメータ:
c - 最小サイズが照会されるコンポーネント。この引数はしばしば無視されるが、UI オブジェクトが状態なしで複数のコンポーネントに共有される場合に使用されることがある
戻り値:
Dimension オブジェクト、または null
関連項目:
JComponent.getMinimumSize(), LayoutManager.minimumLayoutSize(java.awt.Container), ComponentUI.getPreferredSize(javax.swing.JComponent)

getMaximumSize

public Dimension getMaximumSize(JComponent c)
クラス ComponentUI の記述:
Look & Feel に適した、指定されたコンポーネントの最大サイズを返します。null が返される場合、最大サイズは代わりにコンポーネントのレイアウトマネージャによって計算されます (これは、特定のレイアウトマネージャをインストールしてあるコンポーネントの場合に推奨する方法です)。このメソッドのデフォルト実装は getPreferredSize を呼び出して、その値を返します。

オーバーライド:
クラス ComponentUI 内の getMaximumSize
パラメータ:
c - 最大サイズが照会されるコンポーネント。この引数はしばしば無視されるが、UI オブジェクトが状態なしで複数のコンポーネントに共有される場合に使用されることがある
戻り値:
Dimension オブジェクト、または null
関連項目:
JComponent.getMaximumSize(), LayoutManager2.maximumLayoutSize(java.awt.Container)

getAnimationIndex

protected int getAnimationIndex()
現在のアニメーションフレームのインデックスを取得します。

導入されたバージョン:
1.4

setAnimationIndex

protected void setAnimationIndex(int newValue)
現在のアニメーションフレームのインデックスを特定の値に設定し、進捗バーをペイントし直すよう要求します。デフォルトのペイントコードを使用しないサブクラスは、このメソッドをオーバーライドして、repaint メソッドの起動方法を変更する必要があります。

パラメータ:
newValue - 新規アニメーションインデックス。値のチェックは実行されない
導入されたバージョン:
1.4
関連項目:
incrementAnimationIndex

incrementAnimationIndex

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

導入されたバージョン:
1.4
関連項目:
setAnimationIndex

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.