nim*_*cap 20 swing resize jframe dynamic-resizing
我创建了一个JPanel
显示图像的自定义(让我们调用它MyPanel
),我已经将它添加到了JFrame
contentPane中.
我想JFrame
自动调整大小以适应MyPanel
何时更改图像.
看起来我需要打电话frame.pack()
来做这件事.调用pack()
从MyPanel
增加耦合,所以我不希望这样做.
为了解决这个问题,我扩展了JFrame
(让我们调用它MyFrame
)并创建了MyFrame
观察者,并且MyPanel
可以观察到.每当图像MyPanel
显示更改时,它就会通知侦听器MyFrame
.然后在收到通知时MyFrame
调用pack()
.
是否有JFrame
根据其内容调整大小的平滑方式?
Joe*_*nza 10
你描述的解决方案看似合理.
或者,每当MyPanel更改其图像时,它都可以找到其父帧,然后在其上调用pack().如果不存在这样的框架,则不要做任何事情.不需要创建额外的类,它就像你将要获得的松散耦合一样.您可以使用SwingUtilities.getAncestorOfClass()轻松完成此操作.
归档时间: |
|
查看次数: |
30003 次 |
最近记录: |