5

AbstractActionからTextActionを使用する目的は何ですか?そしてそれを次のように使用する方法:

4

2 に答える 2

6

Java Swing 2nd Editionから:

すべてのテキスト コンポーネントは、一連のデフォルト アクションを共有します。これらの各アクションは、デフォルトで TextAction のインスタンスです。JTextComponent は、デフォルトの Keymap インスタンスを使用してすべてのテキスト コンポーネントで共有される 4 つの事前構築済み TextActions のセットで構成されるプライベートな静的 EditorKit を提供します。

JTextComponent は、最近キーボード フォーカスを持っていたテキスト コンポーネントへの非公開参照を維持します。TextActions はこれを利用するように設計されており、各 TextAction は、呼び出し元のイベントのソースがテキスト コンポーネントではないイベントで呼び出されたときに、このコンポーネントで動作します。

TextActionを実装するいくつかの例を次に示します。

カスタム編集コマンド

単語の境界を見つける

于 2012-04-09T19:12:07.320 に答える
3

この答えHTMLDocumentEditorを作成している間、私はチャールズベルによって由緒あるものを思い出しました。これはで見つかったサブクラスの典型的な使用法を示していjavax.swing.text.TextActionます。その編集者はのクレジットの中にリストされていますMetaphase Editor。で見つかったアクションを示すこの関連するStyledEditorKitは、同じアプローチに従います。このようなアクションはすべてキーバインディングに適しており、可能な場合は常に、によって維持されている現在の選択に基づいて動作しCaretます。

于 2012-04-15T23:27:19.783 に答える