我目前正在開發一個Swing應用程序,它將在每個平臺上執行。一般應用程序不是問題,它在Windows,Linux和Mac上運行良好。JComboBox contains Mac上的圖標太小
但我有這個JComboBox
除了文本之外還顯示Icon
(大小50x50)。 我明白,Mac有嚴格的佈局規則,超大號JComboBoxes
不是真的想要。 問題是,使用Mac Look-and-Feel
,我的JComboBoxes
有正確的寬度,但高度太小(相同的高度,如果沒有圖標)。因此,我的Icon
的頂部和底部部分被切斷,看起來不太好看。
顯示JComboBox
沒有Icon
沒有什麼意義,但我還沒有找到一個解決辦法,到目前爲止以正確的高度(甚至設置MinimumSize
,PreferredSize
和MaximumSize
到icon.getIconHeight()+2
沒有幫助)顯示JComboBox
。使用Windows或Linux JComboBoxes
顯示正確。
有沒有我可以使用的任何屬性,或者我真的必須忍受切斷的圖標?
您是否嘗試過創建與您的JComboBox使用自定義的ListCellRenderer? –
JComboBox.setPrototypeDisplayValue(「XXXXXXXXXX」); – mKorbel
謝謝,但我嘗試過,但沒有任何工作。我已經在使用setIcon(...)和setText(...)的地方使用了ListCellRenderer。 奇怪的是,我使用BoxLayout佈局組件,在ComboBoxes後面有灰色背景(不應該存在)和間距,因此看起來高度計算正確 - 仍然顯示太小。 我發現這個[鏈接](http://tinyurl.com/3k2a4es)關於JComboBoxes的大小 - 看起來,MacOs對組件大小相當嚴格,這讓我擔心,確實沒有辦法顯示圖標正確:( – MikeG