J'ai remarqué que lorsque j'exécute une application JavaFX sur JVM 7 et JVM 8, je reçois des skins par défaut différentes. Comment puis-je définir la peau par défaut pour être identique sur chaque JVM? P>
4 Réponses :
Vous pouvez définir votre propre peau en ajoutant une feuille de style.
scene.getStylesheets().add( getClass().getResource("my-skin.css").toExternalForm());
Y a-t-il d'autres skins construisent à JavaFX que je peux utiliser?
Pas que je sache, mais je ne suis pas aussi expérimenté avec JavaFx.
@Ottprime en faire une réponse; J'ai déjà suffisamment de points.
La feuille de style par défaut pour JavaFX 2 est Caspian.css. Vous pouvez le trouver dans jfxrt.jar sous com.sun.javafx.scene.control.skin.Caspian. Cela a changé avec JavaFX 8 et je pense que la feuille de style par défaut est nommée Modena.css A >. Pour obtenir une feuille de style commun, vous devrez définir votre propre ou copier l'une des valeurs par défaut dans votre projet. P>
Vous pouvez définir la peau par défaut: http://fxexperience.com/2013/01/modena-new-theme-for-javafx-8/ p> p>
N'est-ce pas une méthode JavafX 8? Est-ce que cela fonctionnera sur JRE 7?
@Otprime non, il ne fonctionnera pas sur 7, utilisez system.setproperty ("javafx.useragentstylesheeturl", "caspian"); code>
Ce qui précède fonctionnera lors du lancement de la demande en tant que pot, mais pour une raison quelconque ne fonctionnera pas lorsque vous le lancez à l'aide de Java Web Start, toute idée de la raison? Je me suis battu avec cela depuis un moment maintenant, je ne peux pas sembler trouver une raison pour cela.
Vous pouvez également courir avec -djavafx.useragentstylesheeturl = Caspian sur la ligne de commande. P>