2009-08-28 205 views
1

我試圖覆蓋JComboBox在L & F爲Metal時使用的默認顏色。 我已經在UIManager中重寫了以下自定義顏色;覆蓋JComboBox默認顏色

  • ComboBox.font
  • ComboBox.selectionBackground
  • ComboBox.buttonShadow
  • ComboBox.buttonHighlight
  • ComboBox.disabledBackground

  • 控制
  • controlDkShadow
  • controlHighlight
  • controlLtHighlight
  • controlShadow

我卻無法移除文本週圍

任何想法,一個淡藍色的長方形如何我可以改變這個?

alt text http://i32.tinypic.com/1zqvpdz.png

+0

仍然有這個問題,它讓我發瘋 – n002213f 2009-11-14 12:09:43

回答

4

要做到這一點,您必須在您的外觀和感覺中更換ComboBoxUI。並非所有事情都由UIDefaults中的顏色控制。 * UI類實際繪製。

2

如果你談論的是圍繞整個組合框(按鈕和文本),淡藍色的邊框。您可以通過將UIManager中的屬性「Combobox.border」設置爲null或另一個邊框來實現此目的。

如果您想進一步瞭解該主題,可以查看javax.swingx.BasicComboBoxUI。這是首先安裝邊界的地方。搜索「installDefaults」方法,該方法使用對javax.swing.LookAndFeel的靜態調用來安裝邊框。