2016-11-20 15 views
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] 
+0

フォントを適用するためのコードは、リソースから読み込まれたフォントを使用するように見えます。なぜあなたはそれが異なると思いますか? – fabian

+0

そのコードは、実際のアプリケーションでこれをどのように適用したかを示すためのものです: "text.setFont(Fonts.getFont(bold、italic));"ここで、Fonts.getFont(bool bld、bool itlc)はこれです: "return bld?(itlc?boldItalic:bold):itlc?italic:font;" – SnowyCoder

答えて

0

適切な姿勢または体重を提供する別のフォントファイルを読み込む必要があります。 (あなたがFont.font(null, 25)を呼び出すときには、使用されているシステムを含む)すべての人気のフォントについては

システム内の複数のフォントファイルがあります。たとえば、通常のための1、イタリックに1つ、大胆に1つなど

は、

  • のTimes New Roman太字Italic.ttf
  • のTimes New Roman Bold.ttf
  • のTimes New Roman Italic.ttf
  • :のTimes New Romanのための私のフォントフォルダ内の4つのファイルがあります
  • Times New Roman.ttf
関連する問題