检查 Java 中文本的字体属性

Checking the font properties of a text in Java

我正在开发 IDE,我需要帮助。假设您在容器中插入了 JLabel(带有文本)。现在,如何检查 JLabel 的文本是否带有下划线、删除线和子(或超级)脚本?

我们知道要检查粗体和斜体样式,我们有 Font class 的 isBold()isItalic() 方法。我们如何为 UNDERLINESTRIKETHROUGHSUPERSCRIPTSUBSCRIPT 做同样的事情?

如果您使用 java.awt.font.TextAttribute 实现样式,您可以检查

 Map attributes = font.getAttributes();
 boolean underlined = attributes.containsKey(TextAttribute.UNDERLINE);