如何在 Java 中将字体样式转换为字体粗细?
How do I convert font style to font weight in Java?
我想在 JavaFx 中的 TextFlow
中将特定的 ont 设置为 Text
。
但是,Font
只有 static .font()
个方法,需要 FontWeight
个实例。
如何将 "Regular" 之类的字体样式转换为 FontWeight
实例? Font的final字段没有"Regular"。
对于 "Regular" 样式,只需使用一种静态方法获取字体名称 and/or 大小:
text.setFont(Font.font(12)); // 12 point, default font family
或
text.setFont(Font.font("Serif")); // default font size
或
text.setFont(Font.font("Serif", 12)); // 12 point serif...
FontWeight
enum specifies the "weight" of the font (i.e. bold, extra bold, light, etc); its default value is FontWeight.NORMAL
.
FontPosture
enum specifies whether or not the font is italic; it's values are FontPosture.REGULAR
and FontPosture.ITALIC
.
Font.font(...)
方法被重载以获取字体名称、大小、粗细和姿势的大多数组合,如果未提供则恢复为默认值。所以
text.setFont(Font.font("Serif", 12));
相当于
text.setFont(Font.font("Serif", FontWeight.NORMAL, FontPosture.REGULAR, 12));
我想在 JavaFx 中的 TextFlow
中将特定的 ont 设置为 Text
。
但是,Font
只有 static .font()
个方法,需要 FontWeight
个实例。
如何将 "Regular" 之类的字体样式转换为 FontWeight
实例? Font的final字段没有"Regular"。
对于 "Regular" 样式,只需使用一种静态方法获取字体名称 and/or 大小:
text.setFont(Font.font(12)); // 12 point, default font family
或
text.setFont(Font.font("Serif")); // default font size
或
text.setFont(Font.font("Serif", 12)); // 12 point serif...
FontWeight
enum specifies the "weight" of the font (i.e. bold, extra bold, light, etc); its default value is FontWeight.NORMAL
.
FontPosture
enum specifies whether or not the font is italic; it's values are FontPosture.REGULAR
and FontPosture.ITALIC
.
Font.font(...)
方法被重载以获取字体名称、大小、粗细和姿势的大多数组合,如果未提供则恢复为默认值。所以
text.setFont(Font.font("Serif", 12));
相当于
text.setFont(Font.font("Serif", FontWeight.NORMAL, FontPosture.REGULAR, 12));