public class CursorAtStartFocusListener extends FocusAdapter { @Override public void focusGained(java.awt.event.FocusEvent evt) { Object source = evt.getSource(); if (source instanceof JTextComponent) { JTextComponent comp = (JTextComponent) source; comp.setCaretPosition(0); comp.selectAll(); } } }
jComboBox.getEditor().getEditorComponent().addFocusListener(новый CursorAtStartFocusListener());
Как видно из кода выше, я хочу выделить весь текст в редактируемом JComboBox и установить положение курсора в начало. Но у меня проблема, если я сначала напишу comp.setCaretPosition(0), затем comp.selectAll(), текст выделен, но курсор находится в конце текста, в противном случае, если я сначала напишу comp.selectAll()затем comp.setCaretPosition(0), я получаю курсор в нужном мне положении, но текст не выделен. Есть идеи, как я могу это сделать?