8
votes

Comment définir la peau par défaut Javafx

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?


0 commentaires

4 Réponses :


1
votes

Vous pouvez définir votre propre peau en ajoutant une feuille de style.

scene.getStylesheets().add(
    getClass().getResource("my-skin.css").toExternalForm());


3 commentaires

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.



6
votes

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


0 commentaires

11
votes

3 commentaires

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");


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.



2
votes

Vous pouvez également courir avec -djavafx.useragentstylesheeturl = Caspian sur la ligne de commande.


0 commentaires