画像を表示するカスタムを作成しましたJPanel
(これを と呼びます)。これをの contentPaneMyPanel
に追加しました。JFrame
画像が変化JFrame
したときに合わせて自動的にサイズを変更したい。MyPanel
これを行うには電話frame.pack()
する必要があるようです。pack()
から呼び出すとMyPanel
カップリングが増えるので、そうしたくありません。
問題を解決するために、私は拡張しJFrame
(それを と呼びましょうMyFrame
)、MyFrame
オブザーバーを作成し、MyPanel
観察可能にしました。この例では、画像が変更を表示しているときはいつでも、MyPanel
リスナーに通知しMyFrame
ます。そして、通知を受け取ったときにMyFrame
呼び出します。pack()
JFrame
そのコンテンツに応じてサイズを変更するよりスムーズな方法はありますか?