2010-10-14 2 views
4

Я пытаюсь отобразить HTML-код в своем приложении java, который имеет связанную таблицу стилей, включая мой HTML-код.Рендеринг HTML с CSS в Java

Я преобразовываю свой XML в HTML с помощью XSLT с Java. Я хочу включить таблицу стилей, чтобы упростить стиль вывода html. Однако таблица стилей игнорируется, и html выводится нормально.

Для этого я использую JEditorPane и HTMLEditorKit. Я нашел пример кода на Dev Daily, чтобы сделать это.

Моя таблица стилей сидит на моем локальном жестком диске, и я подумал, знает ли кто-нибудь, как я могу ее использовать?

У меня есть следующий код:

JEditorPane jEditorPane = new JEditorPane(); 
jEditorPane.setEditable(false); 

HTMLEditorKit kit = new HTMLEditorKit(); 
jEditorPane.setEditorKit(kit); 

try {  
    kit.getStyleSheet().importStyleSheet(new URL("file://D:\\mycssfile.css")); 
} catch(MalformedURLException ex) { 
} 

Document doc = kit.createDefaultDocument(); 
jEditorPane.setDocument(doc); 
jEditorPane.setText(html); 

В моем HTML выходе из XSL CSS-связан с использованием следующего - я получаю тот же результат с ним включен или исключен:

<link rel="stylesheet" type="text/css" href="mycss.css" /> 

Любых идеи?

Приветствия,

Andez

+0

Я думаю HTMLEditorKit имеет довольно плохая поддержка CSS, что может быть проблемой – andrewmu

ответ

5

Ваш URL не является допустимым, поэтому он не может найти файл CSS. Измените его на:

kit.getStyleSheet().importStyleSheet(new URL("file:///D:/mycssfile.css")); 

Или еще лучше, вместо того, чтобы использовать URL, добавить файл CSS в вашем пути к классам, а затем загрузить его в качестве ресурса, например:

kit.getStyleSheet().importStyleSheet(MyClassName.class.getResource("mycssfile.css")); 
+0

Я пошел на kit.getStyleSheet(). importStyleSheet (новый URL ("file: /// D: /mycssfile.css")); вариант. Наша конфигурация хранится относительно по пути Java-приложения, поэтому просто нужно понять, что ее часть. – Andez

+0

Получил это сейчас. – Andez

Смежные вопросы