Установите высоту элемента внутри JCombobox - PullRequest
1 голос
/ 07 июля 2011

У меня есть JCombobox со многими предметами, и в первую очередь это NULL значение

При открытии выпадающего списка все предметы имеют нормальную высоту, но не первый, который действительнотонкая полоска наверху всего.Это действительно затрудняет кликабельность, так как похоже, что там ничего нет (но оно есть, и вы можете выбрать его).

Вопрос в том, как сделать так, чтобы этот элемент имел ту же высоту, что и другойitems?

Дополнительная информация:

  • Я пробовал с JCombobox.setPrototypeDisplayValue() с обычной строкой типа "XXXXX" или с одним из обычных элементов, но это изменяет ширину, но невысота.
  • Нулевое значение представлено в JCombobox пустой строкой ("") через подкласс ObjectToStringConverter:

org.jdesktop.swingx.autocomplete.AutoCompleteDecorator.decorate (combobox, ConfigurableToStringConverter.INSTANCE);

Заранее спасибо

Ответы [ 2 ]

5 голосов
/ 07 июля 2011

Переопределить средство визуализации по умолчанию, используемое для комбинированных списков (см. DefaultListCellRenderer класс). Проверьте метод getListCellRendererComponent (). Вызовите super.getListCellRendererComponent (), и если значение равно NULL, установите пустую строку (или строку пробела "") в качестве значения.

2 голосов
/ 07 июля 2011

Глядя на всплывающее окно со списком camickr , источник кода показывает setPreferredSize для Width, но я не вижу причин не использовать setPreferredSize для Height таким же образом.

Вопрос только в том, может ли быть конфликт между SwingX#AutoCompleteDecorator и стандартным кодом Swing

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