2012-08-10 33 views

回答

5

1.in你把圖像作爲Icon/ImageIconJLabel然後

  • 必須測試MaximumSizeJFrame,對於具體的監控

  • 如果PreferedSize返回Toolkit的情況下低於MaximumSize大小請致電JFrame#pack()

  • 否則必須ca LL setSize()

2.in你把圖像作爲Icon/ImageIcon使用Custom PaintingJComponentJPanelJLabel E.I.的情況下然後

  • 然後這個JComponen噸一定要返回PreferredSize

    一個)調用JFrame#pack()如果PreferedSizeMaximumSize下,

    b)否則必須調用JFrame#setSize()

    c)以假定你不使用Image#getScalledInstance

3.我想在JLabel中使用Icon,只有一個問題,即圖像可能會小於預期的大小,但沒有問題,很可能會將圖像集中到JLabel.CENTERJLabel

+4

另請參閱'JScrollPane',顯示[here](http://stackoverflow.com/a/5129757/230513)。 – trashgod 2012-08-10 11:06:06

+3

例如**點2 **使用***自定義繪畫***顯示[這裏](http://stackoverflow.com/a/11372350/1057230) – 2012-08-10 11:08:31

+1

不太瞭解總體邏輯:a)通常情況下,max是waaay big(因此它足夠安全,可以簡單地忽略第一個近似值)並且waayy大於pref b)JLabel爲pref返回一個合理的大小,pack是所有需要的c)_otherwise_將pref> max這將是一個必須修正的非法狀態(而不是強制實際尺寸變大(不確定框架是否會變形)1.和2.看起來非常相似(除了手動繪畫和getPref的自定義覆蓋) – kleopatra 2012-08-10 12:41:28

相關問題