Java中下划线字体的常量值是多少?

2022-09-04 06:18:58

Java中下划线字体的常量值是多少?

字体.粗体 粗体 粗体字体

字体.斜体 斜体字体

什么是下划线字体常量?我尝试了所有可用的常量,但它不起作用。


答案 1

假设您需要带下划线和粗体的衬线样式字体,size=12。

Map<TextAttribute, Integer> fontAttributes = new HashMap<TextAttribute, Integer>();
fontAttributes.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
Font boldUnderline = new Font("Serif",Font.BOLD, 12).deriveFont(fontAttributes);

如果您不希望它加粗,请使用 Font.PLAIN 而不是 Font.BOLD。不要使用 Font 类的 getAttributes() 方法。它会给你一个疯狂的通配符参数化类型,你将无法调用put()方法。有时Java可能会像那样讨厌。如果你对为什么感兴趣,你可以看看这个网站:http://www.angelikalanger.com/GenericsFAQ/FAQSections/ParameterizedTypes.htmlMap<TextAttribute,?>


答案 2

查看 Java API 规范Font似乎没有用于下划线的常量。

但是,使用 Font(Map<? 扩展了 AttributedCharacterIterator.Attribute,?> 属性) 构造函数,可以给它一个包含 TextAttribute 和要使用的值,以便指定字体属性。(请注意,该类是 的子类MapTextAttributeAttributedCharacterIterator.Attribute)

TextAttribute.UNDERLINE似乎很有趣。TextAttribute

编辑:在 Java 教程中的使用文本属性设置文本样式部分中有一个使用示例TextAttribute