gpt4 book ai didi

java - 属性集构造

转载 作者:行者123 更新时间:2023-12-02 11:59:26 25 4
gpt4 key购买 nike

我正在尝试使用 javadoc 构造一个 SimpleAttributeSet https://docs.oracle.com/javase/7/docs/api/javax/swing/text/SimpleAttributeSet.html

构造函数:

SimpleAttributeSet(AttributeSet source)

根据提供的属性集创建新的属性集。

所以我需要构建一个属性集以放入该构造函数中。查看 javadoc 的内容在https://docs.oracle.com/javase/7/docs/api/javax/swing/text/AttributeSet.html没有构造函数。提供的所有方法都会返回有关属性集的一些信息,但没有任何内容可以构造或更改它。

所以问题是,如何构造 AttributeSet(然后是 SimpleAttributeSet)?

目标是定义一些在 StyledDocuments 中使用的字体,并将定义字体的所有代码移至单独的类中,以便使用它们的代码更具可读性。

在字体类别中:

SimpleAttributeSet myFont = new SimpleAttributeSet(myAttributeSet)

在目标类中:

doc.insertString(doc.getLength(),"myText",myFont);

编辑添加:
目标是这样的

    public SimpleAttributeSet newFont = new SimpleAttributeSet(
StyleConstants.setFontFamily("SansSerif"),
StyleConstants.setFontSize(16)
);

最佳答案

The goal is to have a few fonts defined for use in StyledDocuments, and move all the code defining the fonts into a separate class so the code that uses them is more readable.

也许是这样的:

public static class DocumentAttributes
{
private static SimpleAttributeSet font;
private static SimpleAttributeSet boldFont;

public static SimpleAttributeSet getFont()
{
if (font != null)
return font;

font = new SimpleAttributeSet()
StyleConstants.setFontFamily(font, "SansSerif");
StyleConstants.setFontSize(font, 16);

return font;
}

public static SimpleAttributeSet getBoldFont()
{
if (boldFont != null)
return boldFont;

boldfont = new SimpleAttributeSet( getFont() );
StyleConstants.setBold(boldFont, true);

return boldFont;
}

}

然后你可以像这样使用它:

doc.insertString(doc.getLength(),"myText", DocumentAttributes.getFont());

关于java - 属性集构造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47372655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com