Как включить / отключить JButton при выделении текста в JTextPane? - PullRequest
0 голосов
/ 02 октября 2018

Я создаю простое приложение «Блокнот» на Java с использованием Swing.

Я создал пункты меню для функций «Новое», «Открыть», «Выход», «Вырезать», «Копировать», «Вставить», используя JMenu, а также создал «Создать», «Открыть», «Выход»,Вырезать, Копировать, Вставить иконки с помощью JToolBar.Для иконок я использовал компонент JButton.

Мой ожидаемый сценарий: я хочу включить значки «Вырезать и копировать» при выделении некоторого текста в JTextPane.Если текст не выбран, значки «Вырезать и копировать» должны быть отключены.Пример кода пожалуйста.

Заранее спасибо.

1 Ответ

0 голосов
/ 02 октября 2018

Вы можете добавить CaretListener к Caret вашего текстового компонента.

Всякий раз, когда генерируется CaretEvent, вы можете использовать методы события getDot() и getMark().

Если значения совпадают, текст не выделяется.

Для значков я использовал компонент JButton.

Вы должны добавить Action на ваши кнопки.Затем вы можете включить / отключить Action по мере необходимости.Для получения дополнительной информации прочитайте раздел учебника Swing о том, как использовать действия.

Кроме того, DefaultEditorKit и StyledEditorKit обеспечат многие действия, которые вам потребуются.Посмотрите учебник Swing по Функции текстовых компонентов для рабочего примера использования этих действий.

...