2

基本的な Swing アプリケーションを作成しています。jTextPaneとボタンがあります。ユーザーがjTextPaneでテキストを選択してボタンを押すと、選択したテキストが太字になります。これは、StyleDocumentを変更することによって行われます。

スタイル付きテキストを一時的に保存し、前のjTextPaneを閉じ、新しいjTextPaneを開き、以前に保存したスタイル付きテキストに基づいてデータを入力できるようにしたいと考えています。jTextPaneはコンストラクターでStyleDocumentを取りますが、古いStyleDocumentを使用して新しい jTextPane を構築しようとすると、機能していないように見えます。最終的に削除される以前の jTextPane StyleDocument からの参照を渡しているだけだからだと思います。

StyleDocument をコピーまたは複製する方法はありますか? インターフェイスであることは理解していますが、DefaultStyledDocument を使用していますか? これを行うより良い方法はありますか?

4

1 に答える 1

3

たとえば、EditorKitを設定したり、setText()を呼び出したりすると、ドキュメントを新しいインスタンスに置き換えることができます(setTextはドキュメントを再作成する場合があります)。

したがって、古いドキュメントへの参照を保存するときは、すべての準備が完了した後、setDocument(oldDoc)を呼び出します。

または、このhttp://java-sl.com/editor_kit_tutorial.htmlのようなものを使用して、古いコンテンツを保存して元に戻すことができます。

リーダーとライターについて読み、「例」セクションのコードを使用します。

于 2012-03-02T06:43:08.123 に答える