JavaTM 2 Platform
Std. Ed. v1.3

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 とともに使用されるオフスクリーンバッファを返します。
 boolean isCompletelyDirty(JComponent aComponent)
          次の paintDirtyRegions() で aComponent が完全にペイントされる場合に true を返す簡易メソッドです。
 boolean isDoubleBufferingEnabled()
          このオブジェクトに対してダブルバッファリングが行われる場合に 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
戻り値:
このオブジェクトの String 表現

getOffscreenBuffer

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

setDoubleBufferMaximumSize

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

getDoubleBufferMaximumSize

public Dimension getDoubleBufferMaximumSize()
最大のダブルバッファサイズを返します。
戻り値:
最大サイズを表す Dimension オブジェクト

setDoubleBufferingEnabled

public void setDoubleBufferingEnabled(boolean aFlag)
ダブルバッファリングを有効または無効にします。
パラメータ:
aFlag - ダブルバッファリングを有効にする場合は true

isDoubleBufferingEnabled

public boolean isDoubleBufferingEnabled()
このオブジェクトに対してダブルバッファリングが行われる場合に true を返します。
戻り値:
このオブジェクトに対してダブルバッファリングが行われる場合は true

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

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