1

私はJavaFXプロジェクトに取り組んでいます。LabelCSS ファイルのカスタム フォントを使用したいと思います。私は読んでフォローしました。この投稿。

public class Main extends Application {
    @Override
    public void init() {
        Font font = Font.loadFont(getClass().getResourceAsStream("Dimitri_Swank.ttf"), 32);
        System.out.println(font);
    }
    @Override
    public void start(Stage primaryStage) throws Exception {
        Parent root = FXMLLoader.load(getClass().getResource("Window.fxml"));
        // ...
    }
}

が出力Font[name=Dimitri Swank, family=Dimitri Swank, style=Regular, size=32.0]され、フォントが正常にロードされます。FXML ファイルのルート コンテナにはstylesheets="@Window.css"属性があり、この CSS ファイルには次のルールがあります。

#gameName {
    -fx-font-family: Dimitri Swank;
    -fx-font-size: 32px;
}

セレクターはうまく機能します ( aLabelを参照します)。 を変更すると違いがわかります-fx-font-size。ただし、フォント ファミリは既定のシステム フォントのままです。私は何を間違っていますか?

4

1 に答える 1

0

プレーンな css を使用しJavaFX version 1.8u60てフォントをロードできますが、正確に元の名前を使用する必要があることに注意してくださいFont File。たとえば、次のようになります。

@font-face{
    src: url("../fonts/Younger than me Bold.ttf");
}

.button{
  -fx-background-color:white;
  -fx-background-radius:15.0;
  -fx-font-size:18.0;
  -fx-font-family:"Younger than me";
  -fx-text-fill:black;
  -fx-font-weight:bold;  
}

元の名前は、デフォルトのエディタで開くと見つかることに注意.ttfしてください。名前がわからない場合は、その名前を参照してください。

完全なチュートリアル: http://www.guigarage.com/2014/10/integrate-custom-fonts-javafx-application-using-css/

あなたの状況については、こちらもご覧ください: JavaFX CSSで外部フォントを指定する


ついに:

コードの問題は、css で二重引用符"または単一引用符を追加していないことです'font - family

于 2016-11-07T23:00:39.120 に答える