2012-03-11 3 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에 편집 가능 false를 설정하면 사라집니다.

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. 가장 마지막 코멘트를 확인하십시오. 이는 해당 대체 작동에 대한 가능한 수정을 제안합니다. 그것이 당신을 위해 작동한다면, 나는 대답으로 게시 할 것입니다. –

답변

관련 문제