更新リクエストがswingに配信されると(たとえば、サイズ変更や別のウィンドウによるブロックが原因でシステムがトリガーされるか、repaint()メソッドの呼び出しなどがアプリによってトリガーされる)、このリクエストは実際にどのように処理されますか?そのRepaintManagerでどのような手順が実行されますか?
質問する
278 次
1 に答える
3
あなたのコメントから:
peer.getGraphics() で何が起こるか知っていますか?
それは、どのピア実装が使用されているかによって異なります。
1 つの実装WComponentPeer
(Windows での実行時に使用) は、Graphics
オブジェクトを取得するために 2 つの方法を使用するようです。
コンポーネントに型の親
Window
(またはそれ自体) があり、その親にバック バッファー イメージが関連付けられている場合、そのイメージのGraphics
オブジェクトが返されます。SunGraphics2D
これはイメージのタイプによって異なりますが、 で作成されたインスタンスである可能性が最も高いcreateGraphics()
です。それ以外の場合は、
ScreenUpdateManager
インスタンスが取得さcreateGraphics(...)
れて呼び出され、新しいSunGraphics2D
インスタンスが返されます。
これは可能な方法の 1 つにすぎず、使用する OS、JVM、および UI ツールキットに大きく依存することに注意してください。
于 2012-05-12T06:59:18.847 に答える