Запретить пользовательский ввод, но разрешить выделение в текстовой области

#java #javafx #textarea

#java #javafx #текстовая область

Вопрос:

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

Прямо сейчас у меня есть простой редактор текстовой области, и я попробовал terminalText.setDisable(true); . Хотя это отключает пользовательский ввод, оно также полностью отключает выделение текста пользователями.

Я установил свой текст терминала, выполнив следующее:

 public void printToConsole(String s){
    consoleBuilder.append(s);
    terminalText.setText(consoleBuilder.toString());
}
  

Я обнаружил, что это отключает ввод; однако теперь я не могу ввести текст, используя метод setText () выше, и я не могу выделить:

 terminalText.setTextFormatter(new TextFormatter<String>((Change c) -> {
        return null ;
    }));
  

Комментарии:

1. terminalText.setEditable(false) ?

2. @Slaw вау. не уверен, как я это пропустил .. спасибо!