Обновленный ответ
Мой старый ответ содержал только временный обходной путь (field.setCursorBlinkTimeOff(1000 * 3600);
для всех TextField
с), который имеет несколько проблем, которые создают плохо используемый опыт.
Теперь я нашел правильное решение, то есть просто не использовать один и тот же TextField
s (удалив его из «Контейнера А», имеющего компонент «Лидер», и поместив их в другой «Контейнер Б»). который не имеет компонента Leader) . Эта проблема связана с тем, что «Контейнер А» имеет компонент «Лидер».
Итак, в этом случае мое решение состоит в том, чтобы удалить TextFields из «Контейнера A» и добавить новые TextFields в «Container» B, используя метод, подобный следующему:
private Component replaceWithNewTextField(Component cmp) {
if (cmp instanceof TextField) {
// it creates the new TextField
TextField field = new TextField();
field.setUIID(cmp.getUIID());
field.setText(((TextField) cmp).getText());
field.setName(((TextField) cmp).getName());
field.setEditable(((TextField) cmp).isEditable());
((TextArea) field).setSingleLineTextArea(((TextArea) cmp).isSingleLineTextArea());
((TextArea) field).setRows(((TextArea) cmp).getRows());
((TextArea) field).setConstraint(((TextArea) cmp).getConstraint());
etc.