如何在Java中将字体样式转换为字体粗细?

时间:2015-03-11 12:14:09

标签: java javafx fonts styles

我想在JavaFx中的Text内为TextFlow设置一个特定的ont。

但是,Font只有static .font()个方法,需要FontWeight个实例。

如何转换字体样式,如" Regular"到FontWeight个实例?没有"常规"在Font的最后字段中。

1 个答案:

答案 0 :(得分:1)

对于“常规”样式,只需使用一种采用字体名称和/或大小的静态方法:

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指定字体的“重量”(即粗体,粗体,光线等);其默认值为FontWeight.NORMAL

FontPosture enum指定字体是否为斜体;它的值为FontPosture.REGULARFontPosture.ITALIC

重载Font.font(...)方法以获取字体名称,大小,重量和姿势的大多数组合,如果未提供,则还原为默认值。所以

text.setFont(Font.font("Serif", 12));

相当于

text.setFont(Font.font("Serif", FontWeight.NORMAL, FontPosture.REGULAR, 12));