Javafx字体粗体
我想为我的javafx应用程序更改(加载的)文本字体,所以我编写了以下代码:Javafx字体粗体,java,javafx,fonts,javafx-8,Java,Javafx,Fonts,Javafx 8,我想为我的javafx应用程序更改(加载的)文本字体,所以我编写了以下代码: Font font = Font.loadFont(Fonts.class.getClassLoader().getResource("path/font.woff").toExternalForm(), 25); Font bold = Font.font(font.getFamily(), FontWeight.BOLD, font.getSize()); Font italic = Font.font(font.
Font font = Font.loadFont(Fonts.class.getClassLoader().getResource("path/font.woff").toExternalForm(), 25);
Font bold = Font.font(font.getFamily(), FontWeight.BOLD, font.getSize());
Font italic = Font.font(font.getFamily(), FontPosture.ITALIC, font.getSize());
Font boldItalic = Font.font(font.getFamily(), FontWeight.BOLD, FontPosture.ITALIC, font.getSize());
但是,当我尝试将文本字体更改为粗体或斜体时,没有任何更改,而且我似乎找不到类似java.awt.font#deriveFont中的方法,您可以从另一种字体派生斜体或粗体。应用字体的代码:
public void applyFont(javafx.scene.text.Text text) {
text.setFont(font);
}
编辑:更多日志:我放了一些日志,上面写着他使用的字体,并打印出字体#toString()结果: 它工作正常,我得到以下输出:
getFont(bold=false, italic=false) -> Font[name=System Regular, family=System, style=Regular, size=25.0]
getFont(bold=true, italic=false) -> Font[name=System Bold, family=System, style=Bold, size=25.0]
getFont(bold=false, italic=true) -> Font[name=System Italic, family=System, style=Italic, size=25.0]
getFont(bold=true, italic=true) -> Font[name=System Bold Italic, family=System, style=Bold Italic, size=25.0]
您需要加载另一个字体文件,该文件将提供适当的姿势或重量 对于每种常用字体(包括系统,当您调用
font.font(null,25)
)时,系统中都有几个字体文件:一个用于常规字体,一个用于斜体,一个用于粗体等
例如,对于Times New Roman,“我的字体”文件夹中有四个文件:
- Times New Roman Bold Italic.ttf
- 泰晤士报新罗马黑体
- 泰晤士报新罗马斜体.ttf
- 泰晤士报新罗马报
font = Font.font(null, 25);//get the system's default font
getFont(bold=false, italic=false) -> Font[name=System Regular, family=System, style=Regular, size=25.0]
getFont(bold=true, italic=false) -> Font[name=System Bold, family=System, style=Bold, size=25.0]
getFont(bold=false, italic=true) -> Font[name=System Italic, family=System, style=Italic, size=25.0]
getFont(bold=true, italic=true) -> Font[name=System Bold Italic, family=System, style=Bold Italic, size=25.0]