当前位置: 首页 > 知识库问答 >
问题:

属性集构造

赫连彬炳
2023-03-14

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

建造商:

SimpleAttributeSet(AttributeSet source)

基于提供的属性集创建新属性集。

所以我需要构建一个属性集来放入构造函数。看看javadochttps://docs.oracle.com/javase/7/docs/api/javax/swing/text/AttributeSet.html没有构造函数。提供的所有方法都返回一些关于属性集的信息,但是没有任何东西可以构造它或改变它。

所以问题是,属性集(然后是SimpleAttributeSet)是如何构造的?

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

在字体类中:

SimpleAttributeSet myFont = new SimpleAttributeSet(myAttributeSet)

在目标类中:

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

编辑以添加:
目标类似于

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

共有1个答案

吕亮
2023-03-14

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

也许是这样的:

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());
 类似资料:
  • 如何使XML模式接受一个元素的两个属性? 我一直尝试这样编写XSD: 我还尝试用。 每次尝试用XMLLINT验证它时,它都会抛出如下所示的错误: ?

  • 我需要在DTO上有一个类似idEncrypted的属性,因为它们只能通过加密的方式传递给我,但是,我需要映射在DB上找到的解密id。我已经有了一个解密方法,但我不知道如何映射它并忽略idEncrypted。 我不知道在哪里做转换

  • 我已经在stackoverflow和网络上寻找解决方案。我没有见过有效的解决方案,因为可能没有一个帖子完全符合我的用例,它包含文件中的列表和对象结构。 这里有一个例子作为yaml 这是与属性文件相同的示例 我希望能够向我的应用程序提供 teddy.yml 或 teddy.properties 文件以进行配置。 这是我的课程: 我已经尝试了这种设置,使用环境来尝试访问属性,删除前缀,声明一个“Pro

  • 我正在用Laravel 5.2开发一个Web应用程序,但有一个问题我无法解决。 我有一个扩展了雄辩模型的模型,但当我试图输出带有“where”的数据库表时,例如 它返回一个包含许多信息的集合,这些信息此时对我来说无用,比如“守卫”、“键入”...我的表的数据在“属性”下。遵循laravel的指南,我看到每个人都像我一样简单地使用它,然后用

  • 3.3 各种构件的属性 除了标准属性,每种构件类还有独特的属性。这里仅以 Button 类为例列出按钮构件的 常用属性,其他构件类仅列出类名,具体有哪些属性请查阅 Tkinter 参考资料。 Button 构造器:Button(parent, option = value, ... ) 常用选项: anchor:指定按钮文本在按钮中的位置(用方位值表示)。 bd 或 borderwidth:按钮边

  • 3.2 构件的标准属性 Tkinter 为所有构件提供了一套标准属性,用来设置构件的外观(大小、颜色、字体等) 和行为。 设置构件的长度、宽度等属性时可选用不同的单位。缺省单位是像素,其他单位包括 c(厘米)、i(英寸)、m(毫米)和 p(磅,约 1/72 英寸)。 颜色 多数构件具有 background(可简写为 bg)和 foreground(可简写为 fg)属性,分别用于 指定构件的背景色