5

Java repaint method を使用すると再描画されますが、キャンバスをクリックするかパネルのサイズを変更したときにのみ更新が表示されます。どうすればこれを修正できますか? 何が原因ですか?

4

3 に答える 3

15

メソッド revalidate() を呼び出す必要があります。これにより、レイアウト マネージャーはすべてのコンポーネントを更新/再描画する必要があります。

于 2009-06-11T06:35:39.103 に答える
2

repaint() は実際には再描画ではなく、コンポーネントの再描画を要求しているだけです。

于 2009-06-11T07:40:15.673 に答える
1

ペイントしたいコンポーネントから Graphics オブジェクトを取得するだけでも役立つ場合があります。次に、Graphics オブジェクトでペイント メソッドを呼び出すだけです。例えば:

g = component.getGraphics(); 
draw(g);
于 2012-01-08T08:07:06.383 に答える