Установка позиции каретки в редактируемом JComboBox
Когда элемент выбирается в поле со списком, который длиннее, чем поле со списком, его конец обрезается, чтобы показать только начальную часть строки, которая подходит. Когда для выпадающего списка установлено значение "редактируемый", отображается конец строки с укороченным началом (что имеет смысл, как если бы пользователь его набрал)
Есть ли способ установить позицию каретки в начале записи, чтобы отобразить начало значения, при этом оставляя поле для редактирования доступным для редактирования? Этого можно достичь, написав специальный редактор для выпадающего списка?
1 ответ
Решение
Это один из способов:
JComboBox comboBox = new JComboBox( ... )
{
@Override
public void setSelectedItem(Object item)
{
super.setSelectedItem( item );
ComboBoxEditor editor = getEditor();
JTextField textField = (JTextField)editor.getEditorComponent();
textField.setCaretPosition(0);
}
};