Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Есть в стандартных библиотеках что-то похожее на к


Автор: aleksandr7965 17.5.2013, 23:44
JComboBox по умолчанию отображает 8 элементов. Если элементов больше - появляется скролл. Хотелка:
1) больше элементов на экране;
2) комбобокс editable, то есть по мере ввода пользователем должны отображаться подходящие варианты;
3) выпадающий список не должен закрывать пользователю поле ввода.

Вариант номер один - http://docs.oracle.com/javase/6/docs/api/javax/swing/JComboBox.html#setMaximumRowCount(int), тогда вместо 8 элементов будет показываться указанное число. Если это число велико - не удовлетворяется условие 3.

Вариант номер два - переопределить http://docs.oracle.com/javase/7/docs/api/javax/swing/plaf/basic/BasicComboPopup.html#computePopupBounds(int,%20int,%20int,%20int). Этот вариант мне кажется более подходящим, но границы открывающегося списка только при первом открытии списка рассчитываются так, как я переопределил это в computePopupBounds(). Если начать что-то вводить - положение открывающегося списка меняется (т.е. становится таким как будто я ничего не переопределял).

Вопрос - что может менять положение открывающегося списка если я переопределил computePopupBounds()?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)