• 締切済み

Java/描画してもリサイズをしないと描画されない

描画をしてもpaintComponent内でないとリサイズ時に消えてしまい安全じゃないことは知っていましたが、今回は逆のことが起きてしまいました。 親JPanelに子JPanelを追加(add(子))して、その後その子JPanelを消して(removeAll())別の子JPanelを追加(add(子))するとrepaint()をしても描画されません。 リサイズをすると描画されるのですが、リサイズをしなくても描画する方法があればご教示ください。 参考までに。 ゲームのタイトル画面を作るためにこの問題にぶつかりました。タイトル画面とゲーム画面を別にしようとしたためです。

みんなの回答

  • teketon
  • ベストアンサー率65% (141/215)
回答No.1

コンポーネントの再配置を行っているなら、 repaint()メソッドではなく、revalidate()メソッドではないですか?

dossi
質問者

お礼

teketonさん、ご回答ありがとうございます。 試したところ問題なく再描画がされました。コンポーネントの状態の変化を画面に反映させる場合はrepaint()ではだめなんですね。ありがとうございます。