Хорошо, я работаю над "окном чата" в Java, которое построено с помощью HTMLEditorKit. Общий подход заключается в том, что я сначала создаю таблицу стилей, используя StyleSheet.addRule (). Я создаю таблицу стилей:
body {color:#ff00ff; font-family:SansSerif; font-size:12pt;}
p {color:#ff00ff; font-family:SansSerif; font-size:12pt;}
.msg {color:#ff00ff; font-family:SansSerif; font-size:12pt;}
.csa {color:#ff0000; font-family:SansSerif; font-size:12pt;}
.usa {color:#0000ff; font-family:SansSerif; font-size:12pt;}
.icon {width:16px; height:16px; object-position:0 5px; }
Затем, когда у меня есть строка чата, которую я хочу применить, я помещаю ее в div и добавляю ее в JTextPane:
try {
kit.insertHTML(doc, doc.getLength(), "\n<div class="+style+">" + s + "</div>", 0, 0, null);
} catch (BadLocationException ble) {
ErrorDialog.bug(ble);
} catch (IOException ex) {
ErrorDialog.bug(ex);
}
conversation.update(conversation.getGraphics()); //Force update of graphics
Пока все работает нормально! Затем возникает проблема желания добавлять небольшие изображения в текст.
Добавление самих изображений также идет хорошо, пока я придерживаюсь атрибутов html, например:
<img src="dice.png" width="16" height="16">
НО, как только я пытаюсь выполнить ЛИБО из следующего две вещи, это игнорирует все мои стили:
<img src="dice.png" class="icon">
<img src="dice.png" style="{width:16px; height:16px; object-position:0 5px; }">
Я перепробовал все виды обходных путей, включая теги span, я попробовал стили ID (например, #icon и id = "icon"), отдельные div, et c. Нет радости!
Это дополнение к устаревшему программному обеспечению, работающему под довольно старой версией Java (1.8), поэтому я всегда "ожидаю худшего", но, как я уже сказал, все другие CSS элементы стиля (насколько текст и макет go) работают отлично. Поиск каких-либо советов по устранению неполадок, ИЛИ, если есть какие-то особые ограничения HTMLEditorKit с изображениями (но опять же все мои изображения работают отлично, пока я придерживаюсь атрибутов html вместо CSS, и все же все мои CSS работают нормально с текст). Большое спасибо за любую помощь.