0

メソッドを使用するsetColorと、Graphicsオブジェクトの がリセットされるのはなぜですか?repaint

4

3 に答える 3

2

ここで見た

AWT がこのメソッドを呼び出すと、Graphics オブジェクト パラメータは、この特定のコンポーネントでの描画に適した状態で事前構成されます
。Graphics オブジェクトの色は、コンポーネントの foreground プロパティに設定されます。
Graphics オブジェクトのフォントは、コンポーネントの font プロパティに設定されます。
Graphics オブジェクトの平行移動は、座標 (0,0) がコンポーネントの左上隅を表すように設定されます。
Graphics オブジェクトのクリップ四角形は、再描画が必要なコンポーネントの領域に設定されます。

これは、paint / repaint メソッドが呼び出されるたびに、Graphics オブジェクトが常にコンポーネント プロパティにリセットされることを意味します。Color (setColor) を保持するには、Graphics オブジェクトではなくコンポーネントで setColor を使用する必要があります。

于 2009-09-20T21:53:12.003 に答える
0

画像を描くことが可能です。その場合:画像を描画した後、カラーセットはデフォルトで元に戻りますColor.BLACK

于 2009-09-21T09:53:08.153 に答える
0

私はあなたがオーバーライドしているpaint(Graphics)(またはおそらくupdate)と推測しており、常にそこに色を設定しているわけではありません。独自の設定からオブジェクトComponentの色 (およびフォント) を設定します。GraphicsあなたGraphicsが受け取るオブジェクトは、あるペイントから別のペイントまで同じものである可能性は低いです.

于 2009-09-20T19:46:37.517 に答える