我知道我可以像这样在AttributeSet上设置字体系列:

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

        doc.insertString(
            caretPosition, text, set);

但是我真正想做的是设置字体:
        StyleConstants.setFont(set, "Courier New");

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

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

(请注意,我的真正目标是使用指定的字体在文档中插入字符串。)

最佳答案

您可以使用StyleConstants设置所有字体属性:

SimpleAttributeSet set = new SimpleAttributeSet();
StyleConstants.setFontFamily(set, "Monospace");
StyleConstants.setFontSize(set, 22);
StyleConstants.setBold(set, true);
StyleConstants.setItalic(set, true);

10-04 10:05