リッチ テキスト エディタは Java で実装され、Swing をサポートし、できればオープン ソースである必要があります。
私はそれを既存の Java/Swing アプリケーションに統合しようとしています。
ありがとう。
これはおそらくあなたが求めていたものほど簡単ではありません...しかし、JTextPane はリッチ テキストと HTML をサポートしています。rtf または html を表示するのは簡単です。コンテンツを入力する前にエンコーディング タイプを設定するだけです。
小さな「B」や「I」などのスタイル変更ボタンの作成に関しては、まあ、それがピンチになった場合、自分で作成するのはそれほど難しくありません. アイコンが設定されたJButtonを考えてください。それらのリスナーは、次のように JTextPane の現在の選択の開始インデックス位置と終了インデックス位置を取得します。
jpane.getSelectionStart()
または jpane.getSelectionEnd()
、それらの場所に開始および終了の html/rtf タグを挿入します。
元に戻すのも簡単です。Jpanel の文字列コンテンツの単純なスタックを維持します。ユーザーが編集操作を行うたびに、単純なhistory.push(jpane.getText())
ものに状態が保存され、元に戻すボタンは のように単純になりますjpane.setText(history.pop())
。
私/あなたは B で 1 つを作成することができ、約 30 分で元に戻すことができます。リストなどの他のボタンには時間がかかりますが、それほど時間はかかりません。
Charles BellのHTMLDocumentEditor
. これはLGPL v3のライセンスを取得しており、特にここStyledEditorKit
で説明されている を使用する例としては優れています。
すべてのオープンソースリッチテキストエディターの母をSwingアプリに埋め込むことができます。OpenOffice.orgには「OOBean」が用意されており、これを使用して完全なOpenOfficeインスタンスをSwingアプリに埋め込むことができます。
調べてみたところ、テキスト エディタだけの jar ファイルが見つかりません。ただし、他の2つのオプションがあります
オプション A Swing を使用して、自分でビルドします。Swing には、javax.swing.text で既にカバーされている多くのコンポーネントがありますが、それでも大量のコードが必要です。ここで例を見つけました
オプション Bオープン ソース プロジェクトからコードをスカベンジします。抽出可能な非常に優れた HTML WYSIWYG タイプのエディターを備えた 2 つのプロジェクトを見つけました (どちらもいくつかのクラスに含まれています)。
予算があれば、商用のものもたくさんあります:)
JWordまたはJRichTextEditorを見てください
JWord は、表、ページング、および RTF/opendoc/XML をサポートする商用のスイング リッチ テキスト エディターです。ヘッダー/フッター、マルチカラム レイアウト、エクスポート HTML、SVG、WMF などもサポートしています。
JRichTextEditor はオープン ソースの Swing ウィジェットであり、メモを取るのには十分です。画像、保存用の単純な XML 形式、PDF へのエクスポート、HTML をサポートします。JWordほど高度ではありませんが、オープンソースです。
役立つかもしれません。