私は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();
}
}
これの出力は次のとおりです:ボックスは(ように思える理由を私は知らない
ここに私の単純なコードがあり、htmlStr
が含まれているタグ<aa>
が含まれています入力フィールド)がタグ名aa
で表示されましたか?
編集可能な偽をJTextPane
オブジェクトjtp
に設定すると消えます。
jtp.setEditable(false);
説明できますか?
HTMLパーサが「」を間違って解釈しているようです。 "aa"の前後に角括弧を削除すると、これは起こりません。パーサが標準ブラウザのパーサに匹敵するかどうかはわかりません。 –
JTextPaneでHTML文字列をレンダリングするために使用されるHTMLパーサーは、標準ブラウザの機能と比較することはできません。しかし、私はなぜ彼らがそのようなボックスにを解釈したのだろうか? –
gtiwari333
私はそれが未知のHTMLタグのJTextPaneのフォールバックだと思っています。私はいくつかの検索を行い、このページに興味深いコメントを見ました:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4765240。最後のコメントを確認してください。これは、そのフォールバックの動作に対する修正を示唆しています。それがあなたのために働くなら、私は答えとして投稿します。 –