4
我需要在JFrame中顯示圖像。我怎樣才能讓窗口大小根據圖像的大小自動調整。如何在Swing中自動調整窗口大小
我需要在JFrame中顯示圖像。我怎樣才能讓窗口大小根據圖像的大小自動調整。如何在Swing中自動調整窗口大小
1.in你把圖像作爲Icon/ImageIcon
到JLabel
然後
必須測試MaximumSize
爲JFrame
,對於具體的監控
如果PreferedSize
返回Toolkit的情況下低於MaximumSize
大小請致電JFrame#pack()
否則必須ca LL setSize()
2.in你把圖像作爲Icon/ImageIcon
使用Custom Painting
到JComponent
,JPanel
,JLabel
E.I.的情況下然後
然後這個JComponen
噸一定要返回PreferredSize
一個)調用JFrame#pack()
如果PreferedSize
比MaximumSize
下,
b)否則必須調用JFrame#setSize()
c)以假定你不使用Image#getScalledInstance
3.我想在JLabel
中使用Icon
,只有一個問題,即圖像可能會小於預期的大小,但沒有問題,很可能會將圖像集中到JLabel.CENTER
JLabel
另請參閱'JScrollPane',顯示[here](http://stackoverflow.com/a/5129757/230513)。 – trashgod 2012-08-10 11:06:06
例如**點2 **使用***自定義繪畫***顯示[這裏](http://stackoverflow.com/a/11372350/1057230) – 2012-08-10 11:08:31
不太瞭解總體邏輯:a)通常情況下,max是waaay big(因此它足夠安全,可以簡單地忽略第一個近似值)並且waayy大於pref b)JLabel爲pref返回一個合理的大小,pack是所有需要的c)_otherwise_將pref> max這將是一個必須修正的非法狀態(而不是強制實際尺寸變大(不確定框架是否會變形)1.和2.看起來非常相似(除了手動繪畫和getPref的自定義覆蓋) – kleopatra 2012-08-10 12:41:28