3

基礎となるドキュメントが何らかの構造を持つJavaTextComponentを作成しています。非常に短く、基本的に1行です。ドキュメントの一部の文字の挿入または削除に対する応答をオーバーライドできるようにする必要があります。

私の最初のアプローチはjavax.swing.text.Documentを実装することでしたが、これには多くの関連クラス(Element、EditorKit、View)の開発が含まれているようで、これを行う方法に関する例やチュートリアルはあまりないようです。事前定義された実装の使用についてはたくさんあります。

Documentの簡単な実装のためのチュートリアルやその他の支援、およびこれを機能させるために作成する必要のある他のクラスを誰かに教えてもらえますか。

4

3 に答える 3

3

テキスト コンポーネントの使用に関する Java Swing チュートリアルがあります。

基本的には、DocumentListenerをドキュメントに追加して、変更に対応したり、ドキュメントの独自の実装を記述したりできます。実装する必要がある抽象メソッドが 2 つしかないため、AbstractDocumentを使用するのは簡単です。または、 PlainDocumentをサブクラス化し、関心のあるメソッドの特定のセットのみをオーバーライドすることもできます。

制約を考えると、ドキュメントにリスナーを追加する文字の挿入/削除に何らかの方法で反応するだけで十分です。

詳細が必要な場合はお知らせください。

于 2010-03-25T15:14:06.410 に答える
2

カスタム javax.swing.text.Document の実装についての洞察を提供するEditorKit – Document – Views Relations tutorialがあります。

于 2010-04-15T09:30:03.063 に答える
2

文字の挿入/削除に反応したいだけなら、おそらく DocumentFilter がより良いアプローチです。これにより、必要に応じてドキュメントへの文字の挿入を防ぐことができます。詳細については、JTextField API を読み、「テキスト コンポーネントの機能」に関する Swing チュートリアルへのリンクをたどってください。

于 2010-03-25T19:21:23.733 に答える