我创建了一个自定义的
当图像更改时,我希望
看起来我需要调用
为了解决这个问题,我扩展了
有没有更流畅的方法根据内容调整
JPanel
,用于显示图像(我们称之为MyPanel
),我已将其添加到JFrame
的contentPane中。当图像更改时,我希望
JFrame
能够自动调整大小以适应MyPanel
。看起来我需要调用
frame.pack()
来完成这个操作。但是从MyPanel
中调用pack()
会增加耦合性,所以我不想这样做。为了解决这个问题,我扩展了
JFrame
(我们称之为MyFrame
)并使MyFrame
成为观察者,MyPanel
成为可观察对象。每当MyPanel
正在显示的图像更改时,它会通知监听器,即本例中的MyFrame
。然后MyFrame
在接收到通知时调用pack()
。有没有更流畅的方法根据内容调整
JFrame
的大小呢?