Переключение выделения в JTextArea

У меня есть JTextArea, где строки выделяются при щелчке правой кнопкой мыши. Хотя я мог бы добиться этого (, используя большую помощь из моего предыдущего сообщения), однако я также хотел бы иметь какую-то функцию переключения, т. е. если строка не выделена, щелчок правой кнопкой мыши выделит ее и наоборот.

В связи с этим можно ли проверить, выделена ли выбранная строка уже или нет? Комментарии/предложения?

Я понимаю, что один из способов сделать это - отслеживать все основные моменты (возможно, используя HashMap как показано в примере здесь), но это немного добавит сложности, потому что я пишу этот метод в помощнике класс, который служит для нескольких вкладок, содержащих эти текстовые области. Любое другое альтернативное решение было бы очень полезно (например, переключение подсветки)


person Sujay    schedule 15.06.2012    source источник


Ответы (2)


Я думаю, что у вас есть ответ прямо здесь, в предоставленной вами ссылке.

Просто напишите свой собственный класс, расширяющий JTextArea, где каждый экземпляр будет отвечать за хранение своих основных моментов, а затем используйте вместо этого свой собственный класс.

Кстати, @nIcE cOw отличный ответ (+1 здесь).

person Boro    schedule 15.06.2012

SWT имеет класс StyledText.

Вы можете написать стилизованный текстовый класс для Swing, реализующий интерфейс Document, который отслеживает выделение и любое другое оформление текста, за которым вы хотите следить. Этот класс будет инкапсулировать методы, определяющие оформление в заданной позиции символа в стилизованном тексте.

person Gilbert Le Blanc    schedule 15.06.2012