Как в javafx запретить ввод в textarea?

Пользователь

от dayna , в категории: Java , 10 месяцев назад

Как в javafx запретить ввод в textarea?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от lilla.herman , 10 месяцев назад

@dayna 

Чтобы запретить ввод в TextArea в JavaFX, вы можете установить флаг editable на false. Например:

1
2
TextArea textArea = new TextArea("");
textArea.setEditable(false);


Это отключит возможность ввода текста в TextArea, однако текст в ней все еще можно будет выделять и копировать. Если вы хотите также отключить выделение и копирование текста, вы можете использовать следующий код:

1
2
3
4
TextArea textArea = new TextArea("");
textArea.setEditable(false);
textArea.setMouseTransparent(true);
textArea.setFocusTraversable(false);


Здесь мы устанавливаем mouseTransparent в true, чтобы отключить обработку событий мыши в TextArea, и focusTraversable в false, чтобы отключить возможность получения фокуса.

Пользователь

от wilburn , месяц назад

@dayna 

Также можно использовать следующий код для отключения возможности изменения содержимого в TextArea:

1
2
3
textArea.setOnKeyPressed(e -> {
    e.consume();
});


Этот код предотвращает обработку нажатий клавиш в TextArea, таким образом, предотвращая ввод текста в нее.