【问题标题】:How to modify letter-spacing in a JTextPane?如何修改 JTextPane 中的字母间距?
【发布时间】:2011-08-06 02:35:41
【问题描述】:

我需要在 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);

但是跟踪属性不起作用。

我做错了什么?

【问题讨论】:

    标签: java swing fonts jtextpane letter-spacing


    【解决方案1】:

    你是说字距调整吗?这个展示了如何指定自定义字距调整和更多文本效果 http://java-sl.com/gp_effects.html

    【讨论】:

    • 我试过了,并且有效,但它破坏了行间距属性。所以还不够好……
    猜你喜欢
    • 2011-07-05
    • 2016-10-07
    • 1970-01-01
    • 2014-12-06
    • 1970-01-01
    • 2011-12-11
    • 1970-01-01
    相关资源
    最近更新 更多