2016-04-23 3 views
0

Я создаю текстовое приложение, где я могу изменить текст на полужирный (я добавлю больше в будущем).Как проверить, является ли точка вставки жирным или обычным текстом

Я поставил полужирный вариант в JMenu как JCheckBox.

Я хочу, чтобы этот флажок был выбран или отменен в зависимости от того, находится ли точка вставки (мигающая строка) жирным или обычным текстом. Так же, как в Microsoft Word.

The application

+0

Не могли бы вы предоставить нам какой-то код, а не только скриншот? – psrcek

+0

Вам нужно определить текущий стиль, основанный на местоположении каретки, что-то вроде [this] (http://stackoverflow.com/questions/24163370/how-to-get-style-from-jtextpane) может дать вам или [этот пример] (http://stackoverflow.com/questions/4360234/get-style-at-caret-position-in-a-jtextpane) или [этот пример] (http: // stackoverflow. com/questions/4819780/get-style-from-any-offset-in-jtextpane) – MadProgrammer

+1

Убедитесь, что вы используете действия 'StyledEditorKit', которые вы видите [здесь] (http://stackoverflow.com/a/8534162/230513). – trashgod

ответ

0

Быстрый ответ с телефона: Вы должны добавить CaretListener к документу. При срабатывании вы обнаружите стиль символа с помощью StyledDocument.getCharacterAttributes. Чтобы получить жирный атрибут, вы проверяете его с помощью StyleConstants.isBold. Будьте осторожны, чтобы не вызывать смелое действие при установке состояния флажка.

+0

Спасибо большое, это сработало :) –

Смежные вопросы