| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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()? |