JavaTM 2 Platform
Standard Ed. 5.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  Rectangle boxRect
          ペイントされる (getBox によって返された) バウンシングボックスの位置とサイズを保持するために使用します。
protected  ChangeListener changeListener
           
protected  JProgressBar progressBar
           
 
コンストラクタの概要
BasicProgressBarUI()
           
 
メソッドの概要
static ComponentUI createUI(JComponent x)
           
protected  int getAmountFull(Insets b, int width, int height)
          モデルから集めた完了パーセント情報に基づいて、塗りつぶされる進捗バーの量を決定します。
protected  int getAnimationIndex()
          現在のアニメーションフレームのインデックスを取得します。
protected  Rectangle getBox(Rectangle r)
          現在のアニメーションインデックスのために r でペイントされ、r を返すバウンシングボックスの位置とサイズを格納します。
protected  int getBoxLength(int availableLength, int otherDimension)
          ペイントされる「バウンシングボックス」の長さを返します。
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

boxRect

protected Rectangle boxRect
ペイントされる (getBox によって返された) バウンシングボックスの位置とサイズを保持するために使用します。

導入されたバージョン:
1.5
コンストラクタの詳細

BasicProgressBarUI

public BasicProgressBarUI()
メソッドの詳細

createUI

public static ComponentUI createUI(JComponent x)

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()

stopAnimationTimer

protected void stopAnimationTimer()
アニメーションスレッドを停止します。不確定なアニメーションを停止する必要がある場合に、このメソッドが呼び出されます。これには次のような理由があります。 独自のアニメーションスレッドを実装する場合は、このメソッドをオーバーライドする必要があります。

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

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)

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 メソッドです。別の種類の進捗バーを作成している場合は、このメソッドをオーバーライドしてください。

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

JavaTM 2 Platform
Standard Ed. 5.0

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

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。