5

グラフィック自体は、単なる抽象クラスです。g.drawImage(Image img, tx, null)呼び出しなどは実際にウィンドウにどのように描画されますか? 少し調べたところ、何かが起こっている可能性があることがわかりましたjava.awt.Component? そうですか?知らない。

Graphics私の主な理由は、 という独自のコンテキストを作成したいからですGraphics3D。私のラスタライザーはこれを利用し、Graphics3Dコンテキストから 3D オブジェクトを描画および操作できます。に継承できたとしても、GraphicsRasterizerをすべきかわかりません。

4

1 に答える 1

3

java.awt.Component画面に描画できる任意のクラスのスーパークラスです。

このクラスでは、Pixel が画面上で実際にどのように描画されるかを確認できます。
このクラスにはメソッドがありpublic void repaint(long tm, int x, int y, int width, int height)ます。この関数では、それがどのように機能するかを理解するために 3403 番目の行を見る必要があります。

このための PaintEvent をインスタンス化します。 PaintEvent e = new PaintEvent(this, PaintEvent.UPDATE, new Rectangle(x, y, width, height))ここで、PaintEvent のコンストラクターは ですPaintEvent(Component source, int id, Rectangle updateRect)

別の行がありToolkit.getEventQueue().postEvent(e)ます。
Toolkit はシステムの を取得しEventQueue、システムに を追加PaintEventします。
EventQueueキュー内のすべてのイベントを追跡し、それに応じてそれらを起動します。
PaintEvent画面上に四角形を描画するイベントです。

于 2014-08-13T16:43:07.343 に答える