Как проверить, содержит ли определенный индекс в jEditorPane символ, который выделен жирным шрифтом, курсивом или подчеркнут? - PullRequest
0 голосов
/ 14 мая 2018

Я создал программу, которая загружает текстовый документ в jEditorPane. Часть текста в документе выделена жирным шрифтом, курсивом или подчеркнута, и я хочу знать, как проверить, содержит ли определенный индекс в тексте один из этих трех атрибутов. Например, если я сохраню первый символ текста в переменной следующим образом:

char chr = jEditorPane1.getDocument().getText(0, 1).charAt(0);

Как мне тогда проверить, был ли символ в chr выделен жирным шрифтом, курсивом или подчеркнут?

1 Ответ

0 голосов
/ 16 мая 2018
StyledDocument doc = (StyledDocument)jEditorPane1.getDocument()
Element textElem = doc.getCharacterElement(offset);
StyleConstants.isBold(textElem.getAttributes());
StyleConstants.isItalic(textElem.getAttributes());

В качестве альтернативы, если каретка расположена в смещении, вы можете получить InputAttributes из набора.

AttributeSet attrs = ((StyledEditorKit)jEditorPane1.getEditorKit()).getInputAttributes();
StyleConstants.isBold(attrs);
...