2012-03-11 8 views
2

私はJTextPaneでHTMLを使用していません。私は奇妙な出力で出くわす。JTextPaneのhtml - タグの奇妙なボックスが表示されます

public class HtmlInJTextPaneTest extends JFrame { 
    private JTextPane jtp; 
    private String htmlStr= "<html><body><b>What is this</b> <aa > ?? </body></html>"; 
    public HtmlInJTextPaneTest() { 
     jtp = new JTextPane(); 
     jtp.setContentType("text/html"); 
     jtp.setText(htmlStr); 
     //jtp.setEditable(false); 

     //jFrame setup 
     add(jtp); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setSize(200, 100); 
     setVisible(true); 
    } 
    public static void main(String[] args) { 
     new HtmlInJTextPaneTest(); 
    } 
} 

これの出力は次のとおりです:ボックスは(ように思える理由を私は知らない

enter image description here

ここに私の単純なコードがあり、htmlStrが含まれているタグ<aa>が含まれています入力フィールド)がタグ名aaで表示されましたか?

編集可能な偽をJTextPaneオブジェクトjtpに設定すると消えます。

jtp.setEditable(false); 

説明できますか?

+0

HTMLパーサが「」を間違って解釈しているようです。 "aa"の前後に角括弧を削除すると、これは起こりません。パーサが標準ブラウザのパーサに匹敵するかどうかはわかりません。 –

+0

JTextPaneでHTML文字列をレンダリングするために使用されるHTMLパーサーは、標準ブラウザの機能と比較することはできません。しかし、私はなぜ彼らがそのようなボックスにを解釈したのだろうか? – gtiwari333

+1

私はそれが未知のHTMLタグのJTextPaneのフォールバックだと思っています。私はいくつかの検索を行い、このページに興味深いコメントを見ました:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4765240。最後のコメントを確認してください。これは、そのフォールバックの動作に対する修正を示唆しています。それがあなたのために働くなら、私は答えとして投稿します。 –

答えて

関連する問題