JavaFX-Taille D'Icône Correcte Pour Toutes Les Résolutions D'Écran


Comment définir la taille des icônes dans mon application JavaFX en fonction de la résolution d'écran disponible.

En ce moment, je règle la taille manuellement, mais pour la basse résolution, ils sont gros et pour la haute résolution, ils sont petits.

Modifier:

Je pense que la meilleure façon serait de choisir entre différents fichiers CSS pour les catégories de résolution d'écran. Est-ce possible avec JavaFX?

Author: Studiosus, 2015-04-28

1 answers

Vous pouvez, au démarrage de votre application fx, obtenir la résolution (comme ceci):

Rectangle2D targetScreenBounds = Screen.getPrimary().getBounds() 

Puis définissez prefWidth et prefHeight dans votre instance icon Control en conséquence (avec une logique par rapport), s'il s'agit bien d'un nœud javafx dont vous parliez.

EDIT : À propos du changement de résolution d'écran dynamique : Vous ne pouvez pas ajouter explicitement un écouteur au changement de résolution d'écran, AFAIK. Cependant, vous pouvez ajouter un auditeur à votre arrière-plan de scène principal. Il est très probable que c'est les propriétés de largeur et de hauteur seront redimensionnées en fonction du changement de résolution de l'écran, mais doivent encore être testées sur votre système d'exploitation cible. Si vous avez besoin par exemple d'une taille d'icône qui serait 1 / 20ème de la hauteur de la scène, vous pouvez faire comme :

Stage stage = ... //this is your app main stage
Glyph glyph = ... //this is your Icon, here it is for example from org.controlsfx.glyphfont
glyph.prefWidthProperty().bind(stage.heightProperty().divide(20));
glyph.prefHeightProperty().bind(stage.heightProperty().divide(20));
 0
Author: Jules Randolph, 2015-05-01 05:39:14