Как использовать TextAction
Каковы цели использования TextAction из AbstractAction? и как использовать это для следующего:
знак вставки
Выбор в JTextComponents
Комбинации клавиш
2 ответа
Составляя этот ответ, я вспомнил почтенного HTMLDocumentEditor
Чарльз Белл, который иллюстрирует типичное использование подклассов, найденных в javax.swing.text.TextAction
, Этот редактор указан среди кредитов Metaphase Editor
, Этот связанный пример, показывающий действия, найденные в StyledEditorKit
следует тому же подходу. Все такие действия подходят для привязок клавиш, и все они работают с текущим выбором, поддерживаемым Caret
, когда возможно.
Все текстовые компоненты имеют набор действий по умолчанию. Каждое из этих действий по умолчанию является экземплярами TextAction. JTextComponent предоставляет частный статический EditorKit, который состоит из набора из четырех предварительно созданных TextActions, совместно используемых всеми текстовыми компонентами, с использованием экземпляра Keymap по умолчанию.
JTextComponent поддерживает частную ссылку на текстовый компонент, который в последнее время имел фокус клавиатуры. TextActions предназначены для использования этого преимущества, и каждый TextAction будет работать с этим компонентом, когда он вызывается в том случае, если источником вызывающего события не является текстовый компонент.
Вот несколько примеров, которые реализуют TextAction: