JTextField становится недоступным для редактирования - PullRequest
0 голосов
/ 29 декабря 2011

Это странно - возможно, у него есть действительно простое решение, но я потратил на это два дня! У меня есть JList в области прокрутки, который я хочу перемещать вверх и вниз (и / или использовать стрелки вверх и вниз).

Я хочу поместить курсор на первую запись и раскрасить его, когда отображается JList. Единственный способ сделать это - выбрать первую запись, а затем запросить фокус для JList из средства визуализации ячеек - в коде, который окрашивает выбранную строку.

Это работает, но оно меняет JTextField сразу под панелью прокрутки на недоступно для редактирования . Удалите фокус запроса из кода средства визуализации ячеек, и JTextField снова станет редактируемым, но затем я должен нажать на JList, чтобы использовать стрелки на нем или вкладку через него. Конечно, я могу использовать совершенно неправильные инструменты. Помощь будет высоко ценится ...


Я только что прочитал, что только один компонент может быть фокусируемым за один раз - но почему setFocusable () + requestFocusInWindow () не изменит фокус на то место, где оно мне нужно? Я предполагаю, что именно поэтому JTextField не редактируется, хотя он был установлен с помощью setEditable (true) ...? Существуют ли другие требования, которые необходимо выполнить, прежде чем вы сможете сделать поле фокусируемым / редактируемым?

...