Переопределить цвета JComboBox по умолчанию - PullRequest
1 голос
/ 28 августа 2009

Я пытаюсь переопределить цвета по умолчанию, используемые JComboBox, когда L & F - металл. Я переопределил следующее в UIManager для пользовательских цветов:

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

и

  • контроль
  • controlDkShadow
  • controlHighlight
  • controlLtHighlight
  • controlShadow

Однако я не могу удалить голубой прямоугольник вокруг текста

Есть идеи, как мне это изменить?

alt text

Ответы [ 2 ]

4 голосов
/ 28 августа 2009

Для этого вам придется заменить ComboBoxUI в вашем внешнем виде. Не все контролируется цветами в UIDefaults. * Классы пользовательского интерфейса делают фактическое рисование.

2 голосов
/ 28 августа 2009

Если вы говорите о светло-голубой рамке, окружающей весь комбинированный список (кнопка и текст). Вы можете достичь этого, установив для свойства "Combobox.border" в UIManager значение null или другую границу.

Если вы хотите посмотреть дальше на предмет, вы можете взглянуть на javax.swingx.BasicComboBoxUI. Это где граница устанавливается в первую очередь. Найдите метод "installDefaults", который использует статический вызов javax.swing.LookAndFeel для установки границы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...