使用指定的字体将String插入Document

Pau*_*ers 5 java fonts swing document

我知道我可以在AttributeSet上设置一个字体系列,如下所示:

        SimpleAttributeSet set = new SimpleAttributeSet();
        StyleConstants.setFontFamily(set, "Monospace");

        doc.insertString(
            caretPosition, text, set);
Run Code Online (Sandbox Code Playgroud)

但我真正想要做的是设置一个字体:

        StyleConstants.setFont(set, "Courier New");
Run Code Online (Sandbox Code Playgroud)

但是,没有StyleConstants.setFont()方法.

那么如何在AttributeSet上设置字体?(请注意,除了SimpleAttributeSet之外,我可以自由地使用AttributeSet的实现.我只是碰巧使用那个.)

(请注意,我的真正目标是使用指定的字体将字符串插入到Document中.)

Krz*_*zyH 2

You can set all font attributes using StyleConstants:

SimpleAttributeSet set = new SimpleAttributeSet();
StyleConstants.setFontFamily(set, "Monospace");
StyleConstants.setFontSize(set, 22);
StyleConstants.setBold(set, true);
StyleConstants.setItalic(set, true);
Run Code Online (Sandbox Code Playgroud)