JavaTM Platform
Standard Ed. 6

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()
          現在のアニメーションフレームのインデックスを取得します。
 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()
           
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()
このオブジェクトがインストールしたすべてのリスナーを削除します。


getBaseline

public int getBaseline(JComponent c,
                       int width,
                       int height)
ベースラインを返します。

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

getBaselineResizeBehavior

public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
コンポーネントのサイズが変化するにつれてベースラインが変化する方法の列挙を返します。

オーバーライド:
クラス ComponentUI 内の getBaselineResizeBehavior
パラメータ:
c - ベースラインのサイズ変更の動作を返す JComponent
戻り値:
コンポーネントのサイズが変化するにつれてベースラインが変化する方法の列挙
例外:
NullPointerException - cnull の場合
導入されたバージョン:
1.6
関連項目:
JComponent.getBaseline(int, int)

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

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 で指定されます。

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

JavaTM Platform
Standard Ed. 6

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

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