Как изменить межбуквенный интервал в JTextPane? - PullRequest
3 голосов
/ 15 апреля 2011

Мне нужно изменить межбуквенное расстояние (отслеживание шрифтов) в JTextPane, и я не могу заставить его работать.

Когда я использую JTextArea, я могу просто сделать:

Font font = new Font("Courier New", Font.PLAIN, 10);
HashMap <TextAttribute, Object> attrs = new HashMap<TextAttribute, Object>();
attrs.put(TextAttribute.TRACKING, -0.1);
font = font.deriveFont(attrs);
textArea.setFont(font);

но так как мне нужно изменить межстрочный интервал, мне нужно использовать JTextPane, и сделать:

textPane.setFont(font)

, как я сделал с JTextArea, не работает.я попробовал еще одну вещь:

MutableAttributeSet set = new SimpleAttributeSet();
StyleConstants.setLineSpacing(set, -0.2);
StyleConstants.setFontFamily(set,"Courier New");
StyleConstants.setFontSize(set, 10);
set.addAttribute(TextAttribute.TRACKING, -0.1);
ta.setParagraphAttributes(set, true);

Но атрибут отслеживания не работает.

Что я делаю не так?

1 Ответ

5 голосов
/ 15 апреля 2011

Вы имеете в виду кернинг? Этот показывает, как задать пользовательский кернинг и еще какой-нибудь текстовый эффект. http://java -sl.com / gp_effects.html

...