Попробуйте использовать setEditable(true)
/ setEditable(false)
вместо setEnabled
.
Таким образом, JTextField
по-прежнему будет фокусируемым, а его содержимое может быть скопировано в буфер обмена, что невозможно, когда оновыключен.Вот почему курсор I не отображается (потому что вы не можете выбрать содержимое поля).
Редактировать (после комментариев OP):
Я пытался воспроизвести то, что вы описали, но оно работало отлично: У меня есть JTextField и 2 кнопки (один активатор и один деактиватор);Независимо от манипуляций, курсор всегда имеет правильную форму, когда поле включено.
Я проверил это поведение в Windows, 64-битная версия Java6, со стандартным LAF.
Вы обязательно должны опубликоватьфрагмент, который может продемонстрировать проблему, а также рассказать больше о вашей среде.