2009-11-24 5 views
10

나는 서버에 명령을 보내고 결과를 XML 형식으로받는 스윙 응용 프로그램이 있습니다. XSLT를 통해이를 HTML로 변환 한 다음 결과 HTML을 패널에 표시해야합니다. 문제는, HTML를 표시 할 수있는 Swing 컴퍼넌트 - JEditorPane -가 URL로서 또는 javax.swing.text.StyledDocument를 소스로서 취하는 것입니다. HTML을 파일 시스템에 파일로 저장해야하므로 URL을 가진 옵션이 작동하지 않습니다.이 문제를 피하고 싶습니다.스윙 응용 프로그램에서 html 렌더링

그래서 저는 XSL 변환의 메모리 결과와 JEditorPane 또는 JTextPane에서 렌더링 할 수있는 javax.swing.text.StyledDocument 사이에 차이가 있습니다.

어떻게 변환하나요? 또는 일부 메모리 내 소스 (DOM 또는 String 등)에서 HTML을 표시하는 다른 Swing 솔루션이 있습니까?

도움을 위해 미리 감사드립니다.

답변

14

JEditorPane.setText()가 작동하지 않는 이유가 있습니까?

나는 항상 JEditorPane을 사용하며 파일이나 URL에서 표시된 데이터를 가져온 적이 없습니다. 그래서 가능합니다. 왜 그것이 당신을 위해 일하지 않는지 알아낼 필요가 있습니다.

구체적으로 :

editor.setContentType("text/html");  
editor.setText("<html><body>Hello, world</body></html>"); 
+0

감사합니다. 방금이 옵션을 놓 쳤어요. 아마 메소드리스트를 살펴보면서 나는 평범한 텍스트만을 다룰 수 있고 javadoc을 자세히 조사하지 않았다고 무의식적으로 결정했다. 다시 한 번 감사드립니다 –

+0

이 수업은 지나치게 복잡하다고 생각합니다. JEditorPane는 특정 시점 이상으로 매우 열악합니다. 불행히도, HTML 렌더링을위한 무료 옵션은 LGPL 인 경향이 있습니다. 제한이 렌더링 품질보다 덜 중요한 경우에는 Lobo Browser의 Cobra 구성 요소 인 http://lobobrowser.org/cobra.jsp가 있습니다. 그리고 DJ Native Project : http://djproject.sourceforge.net/ns/Swing과 SWT를 연결하여 운영 체제의 기본 브라우저 구성 요소에 액세스합니다. – PSpeed

+0

예, 나는 그들을 보았습니다,하지만 다시, LGPL이 나를 위해 작동하지 않습니다 –

2

무엇 JeditorPane.setText() 대해를?

관련 문제