Как отключить возможность щелкнуть по JTextArea - PullRequest
0 голосов
/ 18 июня 2020

Мне нужно отключить возможность щелкать мышью в JTextArea.

Ниже показано, что у меня сейчас есть для моей JTextArea:

textArea1 = new JTextArea();
textArea1.setBorder(BorderFactory.createLineBorder(Color.black, 1));
DefaultCaret caret = (DefaultCaret) textArea1.getCaret(); // this line and the line below was inspired by a comment found here: https://stackoverflow.com/questions/15623287/how-to-always-scroll-to-bottom-of-text-area
caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
textArea1.setEditable(false);
JScrollPane scrollPane1 = new JScrollPane(textArea1)
* 1005 мышь, он почти останавливает работу всего метода DefaultCaret. Раньше я думал, что это было потому, что вы могли выделить, но это было не так.

Метод DefaultCaret заставляет JTextArea всегда находиться внизу, когда новый текст добавляется в текстовое поле.

Ответы [ 2 ]

2 голосов
/ 18 июня 2020
textArea1.setEnabled(false); // text area can neither be entered nor text selected

enter image description here

Каретка отображается там, где она установлена ​​по умолчанию, будучи первым фокусируемым компонентом.

1 голос
/ 18 июня 2020

Я бы предложил 2 вещи:

  • Добавьте setFocusable (false)
  • , если это не сработает: используйте методы removeMouseListener и getMouseListeners в текстовой области
...