Хорошо, вау. Тяжелый вопрос. Итак, я не нашел способа получить стиль данного персонажа. Однако вы можете получить MutableAttributeSet для данного символа, а затем проверить, входит ли стиль в этот набор атрибутов.
Style s; //your style
Element run = styledDocument.getCharacterElement(
textPane.getSelectionStart() );
MutableAttributeSet curAttr =
( MutableAttributeSet )run.getAttributes();
boolean containsIt = curAttr.containsAttributes( s );
Одна из проблем с получением стиля для диапазона символов заключается в том, что к этому диапазону может быть применено несколько стилей (пример: вы можете выбрать текст, где некоторые выделены жирным шрифтом, а некоторые нет).
Чтобы обновить выделенный текст, вы можете:
Style s; //your style
JTextPane textPane; //your textpane
textPane.setCharacterAttributes( s, false );
О, и похоже, что функция getLogicalStyle не работает, потому что она возвращает стиль по умолчанию (или, может быть, просто стиль) для абзаца, который содержит p, а не стиль символа в p.
person
Joseph Gordon
schedule
01.05.2009