Получение стиля из любого смещения в JTextPane - PullRequest
2 голосов
/ 27 января 2011

Есть ли способ получить Style, название стиля или просто сравнить Style в определенной позиции JTextPane со стилем, который я дал тексту при вставке?Потому что для своих целей я создал пользовательские JTextPane, StyledDocument и DocumentFilter.Поэтому я мог выбрать Style, который будет использоваться, например, для обычных букв, и другой стиль для чисел.У меня также есть кнопка переключения, которая при переключении устанавливает DocumentFilter для форматирования чисел по-разному, и, в то время как не переключаемые, форматирование чисел регулярно, так что в конце вы не сможете различить, на какие числа повлияли, только в соответствии с методом JTextPane's getText().Поэтому единственным способом было бы сравнить стили, которые в качестве констант имеют как обычный, так и специальный числовой стиль.Единственное, что мне нужно придумать, это как получить стиль для каждого символа.

Я знаю, что есть JTextPane's метод для получения AttributeSet из позиции каретки, называемый getCharacterAttributes(), но я думаю, что он бесполезен для моегопроблема.

Нужно ли включать пример кода?Я не думаю, что это сложно представить.Если вы хотите меня, я включу его, хотя.

Любой вклад будет оценен.Спасибо!

1 Ответ

9 голосов
/ 27 января 2011

Попробуйте вызвать StyledDocument.getCharacterElement(pos), чтобы получить элемент символа в этой позиции, а затем вызовите Element.getAttributes(), чтобы получить набор его атрибутов.

AttributeSet содержит стили, которые можно получить с помощью методов, предоставленных StyleConstants.

...