web-dev-qa-db-ja.com

Javaリッチテキストエディタをお勧めできますか?

リッチテキストエディターはJavaで実装され、Swingサポートを提供し、できればオープンソースである必要があります。

既存のJava/Swingアプリケーションに統合したいと考えています。

ありがとう。

33
fred smith

これはおそらくあなたが求めていたものほどドロップインプレースではありません...しかしJTextPaneはリッチテキストとHTMLをサポートしています。 display rtfまたはhtmlにするのは簡単です。コンテンツで埋める前にエンコーディングタイプを設定するだけです。

小さな "B"や "[〜#〜] i [〜#〜]"などのスタイル変更ボタンを作成することについては、それに行き着くと、ピンチが非常に少なくなります自分を作るのは難しい。アイコンが設定されたJButtonを考えてください。リスナーは、JTextPaneの現在の選択開始および終了インデックス位置を次のように取得します:jpane.getSelectionStart()またはjpane.getSelectionEnd()次に、これらの場所にhtml/rtfの開始タグと終了タグを挿入します。

元に戻すも簡単です-Jpanelの文字列コンテンツの単純なスタックを維持します。ユーザーが編集アクションを実行するたびに、単純なhistory.Push(jpane.getText())が状態を保存し、[元に戻す]ボタンはjpane.setText(history.pop())

私/あなたはBで1つ作ることができます[〜#〜] i [〜#〜]&約30分で元に戻すと思います-リストのような他のボタンは長くかかりますが、それほど長くはかかりません。

23
dalyons

Charles Bellの HTMLDocumentEditor に基づいて MetaPhaseエディター を試してください。これは LGPL v ライセンスであり、特にStyledEditorKitの使用例として、すばらしい here で説明されています。

10
user328744

すべてのオープンソースリッチテキストエディターの母をSwingアプリに埋め込むことができます。OpenOffice.orgには「OOBean」が用意されており、これを使用して完全なOpenOfficeインスタンスをSwingアプリに埋め込むことができます。

7

調べてみたところ、テキストエディターだけのjarファイルが見つかりません。ただし、他の2つのオプションがあります

オプションASwingを使用して自分でビルドします。 Swingには、javax.swing.textですでにカバーされている多くのコンポーネントがありますが、それでも大量のコードが必要です。例を見つけました ここ

オプションBオープンソースプロジェクトからのコードを清掃します。私は、抽出可能な本当に素敵なHTML WYSIWYGタイプエディターを備えた2つのプロジェクトを見つけました(両方ともいくつかのクラスに含まれています)。

  1. メモ (GPL):そのテキスト編集またはnet.sf.memoranda.ui.htmleditor.HTMLEditorにあります。そのJPanelであり、他の1つのクラスのみを使用します。
  2. Ekit (LGPL):フル機能のWYSIWYG Htmlエディター。そのcom.hexidec.ekit.EkitCoreクラスはJPanelであり、かなり多目的に見えますが、パッケージの他のクラスを多数使用しています。

あなたが予算を持っていると仮定すると、利用可能な商業的なものの束もあります:)

6
Penguin2774

JWord または JRichTextEditor をご覧ください

JWordは、テーブル、ページング、RTF/opendoc/XMLサポートを備えた商用Swingリッチテキストエディターです。ヘッダー/フッター、マルチカラムレイアウト、エクスポートHTML、SVG、WMFなどもサポートします。

JRichTextEditorはオープンソースのSwingウィジェットであり、メモを取ることは大丈夫です。画像、保存用のシンプルなXML形式、PDF、HTMLへのエクスポートをサポートします。 JWordほど高度ではありませんが、オープンソースです。

役立つかもしれません。

4
Guner Sen