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
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.?