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.

我想为我的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.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
  • 泰晤士报新罗马报

应用字体的代码似乎总是使用从资源加载的字体。为什么你期望它有所不同呢?代码只是展示我是如何应用它的,在实际应用中是这样的:“text.setFont(font.getFont(bold,italic));”其中font.getFont(bool-bld,bool-itlc)是这样的:“return-bld?(itlc?boldItalic:bold):itlc?italic:font;”
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]