JavaFX Intégrer La Police Personnalisée Ne Fonctionne Pas


J'utilise JavaFX version 8.0.40-b27 et j'essaie d'intégrer une police personnalisée/externe via CSS. J'ai également essayé des approches programmatiques, qui ont toutes échoué. système.hors.l'impression de "police" renvoie null, que je soupçonne d'être la cause.

Java:

Font font = Font.loadFont( Main.class.getClassLoader().getResourceAsStream( "application/stratum.ttf"), 10);
System.out.println(font); // Prints "null"
nowPlayingTitle.setFont(font);

CSS:

@font-face {
    font-family: stratum;
    src: url('stratum.ttf');
}

.text{
 	-fx-font-family: "stratum", "Segoe UI Light";
    -fx-font-weight: 100;
    -fx-text-fill: white;
}

Répertoire: http://i.stack.imgur.com/c92ii.png

MODIFIER: Système.hors.println(police); imprime maintenant Police[nom=StratumNo1-Mince, de la famille=StratumNo1, style=Mince, de la taille=10.0], de sorte que le fichier est en cours d'accès correctement. Cependant, la police n'est toujours pas rendue à l'écran: http://i.stack.imgur.com/bueUk.png

Author: Acme Zx, 2015-05-14

1 answers

Pour l'URL dans le code Java, essayez soit

// relative to classpath, with leading /
Font font = Font.loadFont( Main.class.getClassLoader().getResourceAsStream( "/application/stratum.ttf"), 10);

Ou

// relative to class:
Font font = Font.loadFont( Main.class.getClassLoader().getResourceAsStream( "stratum.ttf"), 10);

Le CSS me semble juste... êtes-vous sûr que votre fichier ttf est déployé avec le code compilé en CSS, etc.?

 2
Author: James_D, 2015-05-14 19:18:52