2
を導き出す私はJavaFXアプリケーション用のdinamically(ロード)テキストのフォントを変更したいので、私は、このコードでした: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);
}
EDIT::その他のログ:
getFont(bold=false, italic=false) -> Font[name=<Name> Regular, family=<Name>, style=Regular, size=25.0]
getFont(bold=true, italic=false) -> Font[name=<Name> Regular, family=<Name>, style=Regular, size=25.0]
getFont(bold=false, italic=true) -> Font[name=<Name> Regular, family=<Name>, style=Regular, size=25.0]
getFont(bold=true, italic=true) -> Font[name=<Name> Regular, family=<Name>, style=Regular, size=25.0]
:
私は彼が取得し、フォント#のtoString()の結果を印刷しているもののフォントと言ういくつかのログを置くフォントを適用する
コードしかし、フォントの読み込みでコードの最初の行を置換すると、
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]
フォントを適用するためのコードは、リソースから読み込まれたフォントを使用するように見えます。なぜあなたはそれが異なると思いますか? – fabian
そのコードは、実際のアプリケーションでこれをどのように適用したかを示すためのものです: "text.setFont(Fonts.getFont(bold、italic));"ここで、Fonts.getFont(bool bld、bool itlc)はこれです: "return bld?(itlc?boldItalic:bold):itlc?italic:font;" – SnowyCoder