クラスRepaintManager
java.lang.Object
javax.swing.RepaintManager
public class RepaintManager extends Object
このクラスは再ペイント要求を管理し、コンポーネント・ツリーのメンバーに対する複数の要求を1回の再ペイントにまとめることなどにより、再ペイントの回数を最小限に抑えます。
1.6以降、RepaintManagerは、Swingのトップレベル・コンポーネント(JApplet、JWindow、JFrame、およびJDialog)の再ペイント要求を処理するようになりました。 これらのコンポーネントでrepaintを呼び出すと、適切なaddDirtyRegionメソッドが呼び出されます。
- 導入されたバージョン:
- 1.2
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明voidaddDirtyRegion(Applet applet, int x, int y, int w, int h) 削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。Applet APIは推奨されていません。voidaddDirtyRegion(Window window, int x, int y, int w, int h) 再描画する必要があるComponentのリストにwindowを追加します。voidaddDirtyRegion(JComponent c, int x, int y, int w, int h) リフレッシュされるコンポーネントのリストにコンポーネントを追加します。voidaddInvalidComponent(JComponent invalidComponent) レイアウトの必要に応じてコンポーネントをマークし、コンポーネントの最初のisValidateRoot()の上位オブジェクトを検証するイベント・ディスパッチ・スレッドのために実行可能なコンポーネントを待ち行列に入れます。static RepaintManagerComponentを指定して、呼出し側スレッドのRepaintManagerを返します。static RepaintManagerJComponentを指定して、呼出し側スレッドのRepaintManagerを返します。getDirtyRegion(JComponent aComponent) コンポーネントの現在のダーティ・リージョンを返します。最大のdoubleバッファ・サイズを返します。getOffscreenBuffer(Component c, int proposedWidth, int proposedHeight) コンポーネントcとともにdoubleバッファとして使用されるオフスクリーン・バッファを返します。getVolatileOffscreenBuffer(Component c, int proposedWidth, int proposedHeight) 指定されたコンポーネントcとともにdoubleバッファとして使用されるvolatileオフスクリーン・バッファを返します。booleanisCompletelyDirty(JComponent aComponent) 次のpaintDirtyRegions()でaComponentが完全にペイントされる場合にtrueを返す簡易メソッドです。booleanこのRepaintManagerに対してダブル・バッファリングが行われる場合にtrueを返します。voidmarkCompletelyClean(JComponent aComponent) 完全にクリーンなコンポーネントをマークします。voidmarkCompletelyDirty(JComponent aComponent) 完全にダーティなコンポーネントをマークします。voidダーティとしてマークされたコンポーネントをすべてペイントします。voidremoveInvalidComponent(JComponent component) 無効なコンポーネントのリストからコンポーネントを削除します。static voidsetCurrentManager(RepaintManager aRepaintManager) 呼出し側スレッドで使用されるRepaintManagerを設定します。voidsetDoubleBufferingEnabled(boolean aFlag) このRepaintManagerでのダブル・バッファリングを有効または無効にします。void最大のdoubleバッファ・サイズを設定します。toString()このオブジェクトのプロパティを表示および識別する文字列を返します。void無効としてマークされたコンポーネントをすべて検証します。
-
コンストラクタの詳細
-
RepaintManager
public RepaintManager()新しいRepaintManagerのインスタンスを生成します。 このコンストラクタを直接呼び出すことはほとんどありません。 デフォルトのRepaintManagerを取得するには、RepaintManager.currentManager(JComponent)(通常はthis)を使用します。
-
-
メソッドの詳細
-
currentManager
public static RepaintManager currentManager(Component c) Componentを指定して、呼出し側スレッドのRepaintManagerを返します。- パラメータ:
c- 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()の上位オブジェクトを検証するイベント・ディスパッチ・スレッドのために実行可能なコンポーネントを待ち行列に入れます。- パラメータ:
invalidComponent- コンポーネント- 関連項目:
-
removeInvalidComponent
public void removeInvalidComponent(JComponent component) 無効なコンポーネントのリストからコンポーネントを削除します。- パラメータ:
component- コンポーネント- 関連項目:
-
addDirtyRegion
public void addDirtyRegion(JComponent c, int x, int y, int w, int h) リフレッシュされるコンポーネントのリストにコンポーネントを追加します。 cにすでにダーティ・リージョンがある場合、矩形(x,y,w,h)は再描画される領域と結合されます。- パラメータ:
c- 再ペイントするコンポーネント。nullの場合は何も行われない。x- 再ペイントする領域のX座標y- 再ペイントする領域のY座標w- 再ペイントする領域の幅h- 再ペイントする領域の高さ- 関連項目:
-
addDirtyRegion
public void addDirtyRegion(Window window, int x, int y, int w, int h) 再描画する必要があるComponentのリストにwindowを追加します。- パラメータ:
window- 再ペイントするウィンドウ。nullの場合は何も行われない。x- 再ペイントする領域のX座標y- 再ペイントする領域のY座標w- 再ペイントする領域の幅h- 再ペイントする領域の高さ- 導入されたバージョン:
- 1.6
- 関連項目:
-
addDirtyRegion
@Deprecated(since="9", forRemoval=true) public void addDirtyRegion(Applet applet, int x, int y, int w, int h) 削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。Applet APIは推奨されていません。 詳細については、「java.appletパッケージのドキュメント」を参照してください。再描画する必要があるComponentのリストにappletを追加します。- パラメータ:
applet- 再ペイントするアプレット。nullの場合は何も行われない。x- 再ペイントする領域のX座標y- 再ペイントする領域のY座標w- 再ペイントする領域の幅h- 再ペイントする領域の高さ- 導入されたバージョン:
- 1.6
- 関連項目:
-
getDirtyRegion
public Rectangle getDirtyRegion(JComponent aComponent) コンポーネントの現在のダーティ・リージョンを返します。 コンポーネントがダーティでない場合は、空の矩形を返します。- パラメータ:
aComponent- コンポーネント- 戻り値:
- リージョン
-
markCompletelyDirty
public void markCompletelyDirty(JComponent aComponent) 完全にダーティなコンポーネントをマークします。aComponentは、次のpaintDirtyRegions()の呼出しで完全にペイントされます。- パラメータ:
aComponent- コンポーネント
-
markCompletelyClean
public void markCompletelyClean(JComponent aComponent) 完全にクリーンなコンポーネントをマークします。aComponentは、次のpaintDirtyRegions()の呼出しでペイントされることはありません。- パラメータ:
aComponent- コンポーネント
-
isCompletelyDirty
public boolean isCompletelyDirty(JComponent aComponent) 次のpaintDirtyRegions()でaComponentが完全にペイントされる場合にtrueを返す簡易メソッドです。 ダーティ・リージョンを計算すると、コンポーネントに負荷が大きい場合は、このメソッドを使用してください。trueを返す場合には、ダーティ・リージョンの計算を避けられます。- パラメータ:
aComponent- コンポーネント- 戻り値:
trueaComponentが次のpaintDirtyRegions()の間に完全に描画される場合。
-
validateInvalidComponents
public void validateInvalidComponents()無効としてマークされたコンポーネントをすべて検証します。- 関連項目:
-
paintDirtyRegions
public void paintDirtyRegions()ダーティとしてマークされたコンポーネントをすべてペイントします。- 関連項目:
-
toString
-
getOffscreenBuffer
コンポーネントcとともにdoubleバッファとして使用されるオフスクリーン・バッファを返します。 デフォルトでは、RepaintManagerごとにdoubleバッファがあります。 バッファは、(proposedWidth,proposedHeight)より小さい場合があります。これが発生するのは、受取り側の再ペイント・マネージャに対して最大のdoubleバッファ・サイズが設定された場合です。- パラメータ:
c- コンポーネントproposedWidth- バッファの幅proposedHeight- バッファの高さ- 戻り値:
- イメージ
-
getVolatileOffscreenBuffer
指定されたコンポーネントcとともにdoubleバッファとして使用されるvolatileオフスクリーン・バッファを返します。 返されるイメージはVolatileImageのインスタンスであり、VolatileImageオブジェクトをインスタンス化できなかった場合はnullが返されます。 バッファは、(proposedWidth,proposedHeight)より小さい場合があります。 これが発生するのは、受け取り側の再ペイント・マネージャに対して最大のdoubleバッファ・サイズが設定された場合です。- パラメータ:
c- コンポーネントproposedWidth- バッファの幅proposedHeight- バッファの高さ- 戻り値:
- 揮発性イメージ
- 導入されたバージョン:
- 1.4
- 関連項目:
-
setDoubleBufferMaximumSize
-
getDoubleBufferMaximumSize
-
setDoubleBufferingEnabled
public void setDoubleBufferingEnabled(boolean aFlag) このRepaintManagerでのダブル・バッファリングを有効または無効にします。 注意: このプロパティのデフォルト値は、各プラットフォームで最適なペイント・パフォーマンスを実現できるように設定されています。プログラムでこのプロパティを直接変更することはお薦めできません。- パラメータ:
aFlag- ダブル・バッファリングを有効にする場合はtrue- 関連項目:
-
isDoubleBufferingEnabled
public boolean isDoubleBufferingEnabled()このRepaintManagerに対してダブル・バッファリングが行われる場合にtrueを返します。 このプロパティのデフォルト値は、プラットフォームによって異なります。 AWTでネイティブなダブル・バッファリングがサポートされているプラットフォームでは、Swingで不要なバッファリングが行われないように、デフォルト値がfalseに設定されます。 ネイティブなダブル・バッファリングがサポートされていないプラットフォームでは、デフォルト値がtrueに設定されます。- 戻り値:
- このオブジェクトに対してダブル・バッファリングが行われる場合はtrue
-