AbstractActionからTextActionを使用する目的は何ですか?そしてそれを次のように使用する方法:
カレット
JTextComponentsでの選択
KeyBindings
AbstractActionからTextActionを使用する目的は何ですか?そしてそれを次のように使用する方法:
カレット
JTextComponentsでの選択
KeyBindings
すべてのテキスト コンポーネントは、一連のデフォルト アクションを共有します。これらの各アクションは、デフォルトで TextAction のインスタンスです。JTextComponent は、デフォルトの Keymap インスタンスを使用してすべてのテキスト コンポーネントで共有される 4 つの事前構築済み TextActions のセットで構成されるプライベートな静的 EditorKit を提供します。
JTextComponent は、最近キーボード フォーカスを持っていたテキスト コンポーネントへの非公開参照を維持します。TextActions はこれを利用するように設計されており、各 TextAction は、呼び出し元のイベントのソースがテキスト コンポーネントではないイベントで呼び出されたときに、このコンポーネントで動作します。
TextActionを実装するいくつかの例を次に示します。
この答えHTMLDocumentEditor
を作成している間、私はチャールズベルによって由緒あるものを思い出しました。これはで見つかったサブクラスの典型的な使用法を示していjavax.swing.text.TextAction
ます。その編集者はのクレジットの中にリストされていますMetaphase Editor
。で見つかったアクションを示すこの関連する例StyledEditorKit
は、同じアプローチに従います。このようなアクションはすべてキーバインディングに適しており、可能な場合は常に、によって維持されている現在の選択に基づいて動作しCaret
ます。