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