1

ソースからテキストをプレーン テキストとして取得し、それを JTextPane または JEditorPane に表示する必要があります。ソース テキストは HTML ではありませんが、ハイパーリンクとして表示および機能する必要がある角括弧内の URL が含まれます。

ペインのコンテンツ タイプを text/html に設定し、URL を html タグで囲むことを検討しましたが、改行文字を無視することになり、これは悪いことであり、改行文字を " に置き換える方法がわかりません。<br/>"。それを行う簡単な方法はありますか?

それが文字列全体をスキャンすることを意味する場合は、テキストの表示方法をカスタマイズするだけの方がよいのではないでしょうか?

そこで、このスレッドでstarturtle に言及されているように、独自の EditorKit を作成するルートも検討しましたが、彼はその方法について説明していません。この記事のコードを見てみましたが、大変な作業のように思えます。これは私が取るべきルートですか?

誰もこれをやったことがありますか。推奨事項はありますか?htmlに変換した方がいいですか、それとも表示をカスタマイズしたほうがいいですか?

4

1 に答える 1

2

改行文字を「<br/>」に置き換える方法がわかりません。それを行うのは簡単な方法はありますか?

あなたはJava正規表現でそれを行うことができます:

    String raw = "...";
    Pattern p = Pattern.compile("\n");
    String html = "<HTML>" + p.matcher(raw).replaceAll("<BR>") + "</HTML>" ;

私はあなたのためにあなたのHTMLラッパーを追加する自由を取りました。


編集:

それの楽しみのために、私はオスカーのポイントを取り、刺しました:

    Pattern p = Pattern.compile("\\[([^\\]]*)\\]");
    raw = p.matcher(raw).replaceAll("<a href=\"$1\">$1</a>");
于 2009-07-29T01:45:00.080 に答える