JavaTM 2
Platform
Std. Ed. v1.4.0

javax.swing
クラス RepaintManager

java.lang.Object
  |
  +--javax.swing.RepaintManager

public class RepaintManager
extends Object

このクラスは再描画要求を管理し、コンポーネントツリーのメンバに対する複数の要求を 1 回の再描画にまとめることなどにより、再描画の回数を最小限に押さえます。


コンストラクタの概要
RepaintManager()
          新しい RepaintManager のインスタンスを生成します。
 
メソッドの概要
 void addDirtyRegion(JComponent c, int x, int y, int w, int h)
          再表示されるコンポーネントのリストにコンポーネントを追加します。
 void addInvalidComponent(JComponent invalidComponent)
          レイアウトの必要に応じてコンポーネントをマークし、コンポーネントの最初の isValidateRoot() の上位オブジェクトを検証するイベントディスパッチスレッドのために実行可能なコンポーネントを待ち行列に入れます。
static RepaintManager currentManager(Component c)
          Component を指定して、呼び出し側スレッドの RepaintManager を返します。
static RepaintManager currentManager(JComponent c)
          JComponent を指定して、呼び出し側スレッドの RepaintManager を返します。
 Rectangle getDirtyRegion(JComponent aComponent)
          コンポーネントの現在のダーティーリージョンを返します。
 Dimension getDoubleBufferMaximumSize()
          最大のダブルバッファサイズを返します。
 Image getOffscreenBuffer(Component c, int proposedWidth, int proposedHeight)
          ダブルバッファとしてコンポーネント c とともに使用されるオフスクリーンバッファを返します。
 Image getVolatileOffscreenBuffer(Component c, int proposedWidth, int proposedHeight)
          ダブルバッファとして指定のコンポーネント c とともに使用される volatile のオフスクリーンバッファを返します。
 boolean isCompletelyDirty(JComponent aComponent)
          次の paintDirtyRegions() で aComponent が完全にペイントされる場合に true を返す簡易メソッドです。
 boolean isDoubleBufferingEnabled()
          この RepaintManager に対してダブルバッファリングが行われる場合に true を返します。
 void markCompletelyClean(JComponent aComponent)
          完全にクリーンなコンポーネントをマークします。
 void markCompletelyDirty(JComponent aComponent)
          完全にダーティーなコンポーネントをマークします。
 void paintDirtyRegions()
          ダーティーとしてマークされたコンポーネントをすべてペイントします。
 void removeInvalidComponent(JComponent component)
          無効なコンポーネントのリストからコンポーネントを削除します。
static void setCurrentManager(RepaintManager aRepaintManager)
          呼び出し側スレッドで使用される RepaintManager を設定します。
 void setDoubleBufferingEnabled(boolean aFlag)
          ダブルバッファリングを有効または無効にします。
 void setDoubleBufferMaximumSize(Dimension d)
          最大のダブルバッファサイズを設定します。
 String toString()
          このオブジェクトのプロパティを表示および識別する文字列を返します。
 void validateInvalidComponents()
          無効としてマークされたコンポーネントをすべて検証します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

RepaintManager

public RepaintManager()
新しい RepaintManager のインスタンスを生成します。このコンストラクタを直接呼び出すことはほとんどありません。デフォルトの RepaintManager を取得するには、RepaintManager.currentManager(JComponent) (通常は this) を使用します。

メソッドの詳細

currentManager

public static RepaintManager currentManager(Component c)
Component を指定して、呼び出し側スレッドの RepaintManager を返します。

パラメータ:
c - Component。デフォルトの実装では使用されない。ただし、このメソッドをオーバーライドすると、Component に応じて異なる RepaintManager を返すことができる
戻り値:
RepaintManager オブジェクト

currentManager

public static RepaintManager currentManager(JComponent c)
JComponent を指定して、呼び出し側スレッドの RepaintManager を返します。

注: このメソッドは、旧バージョンの Swing ライブラリのバイナリとの下位互換性のために提供されます。このメソッドは、単に currentManager(Component) によって返される結果を返します。

パラメータ:
c - JComponent。使用されない
戻り値:
RepaintManager オブジェクト

setCurrentManager

public static void setCurrentManager(RepaintManager aRepaintManager)
呼び出し側スレッドで使用される RepaintManager を設定します。aRepaintManager が、呼び出し側スレッドのスレッドグループの現在の RepaintManager になります。

パラメータ:
aRepaintManager - 使用する RepaintManager オブジェクト

addInvalidComponent

public void addInvalidComponent(JComponent invalidComponent)
レイアウトの必要に応じてコンポーネントをマークし、コンポーネントの最初の isValidateRoot() の上位オブジェクトを検証するイベントディスパッチスレッドのために実行可能なコンポーネントを待ち行列に入れます。

関連項目:
JComponent.isValidateRoot(), removeInvalidComponent(javax.swing.JComponent)

removeInvalidComponent

public void removeInvalidComponent(JComponent component)
無効なコンポーネントのリストからコンポーネントを削除します。

関連項目:
addInvalidComponent(javax.swing.JComponent)

addDirtyRegion

public void addDirtyRegion(JComponent c,
                           int x,
                           int y,
                           int w,
                           int h)
再表示されるコンポーネントのリストにコンポーネントを追加します。c にすでにダーティーリージョンがある場合、矩形 (x,y,w,h) は再描画される領域と結合されます。

関連項目:
JComponent.repaint(long, int, int, int, int)

getDirtyRegion

public Rectangle getDirtyRegion(JComponent aComponent)
コンポーネントの現在のダーティーリージョンを返します。コンポーネントがダーティーでない場合は、空の矩形を返します。


markCompletelyDirty

public void markCompletelyDirty(JComponent aComponent)
完全にダーティーなコンポーネントをマークします。aComponent は、次の paintDirtyRegions() の呼び出しで完全にペイントされます。


markCompletelyClean

public void markCompletelyClean(JComponent aComponent)
完全にクリーンなコンポーネントをマークします。aComponent は、次の paintDirtyRegions() の呼び出しでペイントされることはありません。


isCompletelyDirty

public boolean isCompletelyDirty(JComponent aComponent)
次の paintDirtyRegions() で aComponent が完全にペイントされる場合に true を返す簡易メソッドです。ダーティーリージョンを計算すると、コンポーネントに負荷が大きい場合は、このメソッドを使用してください。true を返す場合には、ダーティーリージョンの計算を避けられます。


validateInvalidComponents

public void validateInvalidComponents()
無効としてマークされたコンポーネントをすべて検証します。

関連項目:
addInvalidComponent(javax.swing.JComponent)

paintDirtyRegions

public void paintDirtyRegions()
ダーティーとしてマークされたコンポーネントをすべてペイントします。

関連項目:
addDirtyRegion(javax.swing.JComponent, int, int, int, int)

toString

public String toString()
このオブジェクトのプロパティを表示および識別する文字列を返します。

オーバーライド:
クラス Object 内の toString
戻り値:
このオブジェクトの文字列表現

getOffscreenBuffer

public Image getOffscreenBuffer(Component c,
                                int proposedWidth,
                                int proposedHeight)
ダブルバッファとしてコンポーネント c とともに使用されるオフスクリーンバッファを返します。デフォルトでは、RepaintManager ごとにダブルバッファがあります。バッファは、(proposedWidth, proposedHeight) より小さい場合があります。これが発生するのは、受け取り側の再ペイントマネージャに対して最大のダブルバッファサイズが設定された場合です。


getVolatileOffscreenBuffer

public Image getVolatileOffscreenBuffer(Component c,
                                        int proposedWidth,
                                        int proposedHeight)
ダブルバッファとして指定のコンポーネント c とともに使用される volatile のオフスクリーンバッファを返します。返されるイメージは VolatileImage のインスタンスであり、VolatileImage オブジェクトをインスタンス化できなかった場合は null が返されます。バッファは、(proposedWidth, proposedHeight) より小さい場合があります。これが発生するのは、受け取り側の再ペイントマネージャに対して最大のダブルバッファサイズが設定された場合です。

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

setDoubleBufferMaximumSize

public void setDoubleBufferMaximumSize(Dimension d)
最大のダブルバッファサイズを設定します。


getDoubleBufferMaximumSize

public Dimension getDoubleBufferMaximumSize()
最大のダブルバッファサイズを返します。

戻り値:
最大サイズを表す Dimension オブジェクト

setDoubleBufferingEnabled

public void setDoubleBufferingEnabled(boolean aFlag)
ダブルバッファリングを有効または無効にします。注意: このプロパティのデフォルト値は、各プラットフォームで最適なペイントパフォーマンスを実現できるように設定されています。プログラムでこのプログラムを直接変更することはお勧めできません。

パラメータ:
aFlag - ダブルバッファリングを有効にする場合は true
関連項目:
isDoubleBufferingEnabled()

isDoubleBufferingEnabled

public boolean isDoubleBufferingEnabled()
この RepaintManager に対してダブルバッファリングが行われる場合に true を返します。このプロパティのデフォルト値は、プラットフォームによって異なります。AWT でネイティブなダブルバッファリングがサポートされているプラットフォームでは、Swing で不要なバッファリングが行われないように、デフォルト値が false に設定されます。ネイティブなダブルバッファリングがサポートされていないプラットフォームでは、デフォルト値が true に設定されます。

戻り値:
このオブジェクトに対してダブルバッファリングが行われる場合は true

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.