У меня есть JTextPane (или JEditorPane), в котором я хочу добавить некоторые кнопки для форматирования текста (как показано на рисунке).JTextPane - HTMLDocument: при добавлении/удалении нового стиля меняются и другие атрибуты
Когда я изменяю выделенный текст на Полужирный (создавая новый стиль), также изменяется семейство шрифтов (и другие атрибуты). Зачем? Я хочу установить (или удалить) жирный атрибут в выделенном тексте, а остальные остаются неизменными, как они были.
Это то, что я пытаюсь:
private void setBold(boolean flag){
HTMLDocument doc = (HTMLDocument) editorPane.getDocument();
int start = editorPane.getSelectionStart();
int end = editorPane.getSelectedText().length();
StyleContext ss = doc.getStyleSheet();
//check if BoldStyle exists and then add/remove it
Style style = ss.getStyle("BoldStyle");
if(style == null){
style = ss.addStyle("BoldStyle", null);
style.addAttribute(StyleConstants.Bold, true);
} else {
style.addAttribute(StyleConstants.Bold, false);
ss.removeStyle("BoldStyle");
}
doc.setCharacterAttributes(start, end, style, true);
}
Но как я уже говорил выше, другие атрибуты также изменить:
Любая помощь будет оценена. Заранее спасибо!
http://oi40.tinypic.com/riuec9.jpg