2
我今天沒有在JTextPane中使用過HTML,並且今天玩這個。我遇到了奇怪的輸出。JTextPane中的html - 奇怪的框出現標記
這裏是我的簡單的代碼,htmlStr
包含包含標記<aa>
:
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();
}
}
的這個輸出是:
我不知道爲什麼箱(好像輸入字段)出現在其中的標籤名稱爲aa
?
當我在JTextPane
對象jtp
上設置可編輯的false時它消失。
jtp.setEditable(false);
你能解釋一下嗎?
看起來HTML解析器錯誤地解釋了「」。如果刪除「aa」周圍的尖括號,則不應該發生這種情況。我不確定解析器是否與標準瀏覽器中的解析器相媲美。 –
2012-03-11 04:22:37
我相信JTextPane用於呈現html字符串的HTML解析器無法與標準瀏覽器的功能進行比較。但是,我想知道他們爲什麼將解釋成這樣的盒子? –
gtiwari333
2012-03-11 04:29:39
我猜測,這只是JTextPane對未知HTML標籤的回退。我做了一些搜索,並在本頁看到了一條有趣的評論:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4765240。檢查最後一條評論,這表明可能會解決該回退行爲。如果它適合你,那麼我會將它作爲答案發布。 – 2012-03-11 04:41:36