Comment accéder aux Barres de défilement d'un composant ScrollPane
Je vais essayer d'obtenir quelques informations sur le ScrollBar
composants qui sont inclus dans un ScrollPane
. Je suis d'autant plus intéressé par la lecture de la height
de l'horizontale Scrollbar
. Comment puis-je référencer?
Voulez-vous dire que vous voulez voir combien de pixels verticaux de la barre de défilement horizontale utilise ou où il est placé ou quoi?
Je veux voir combien de pixels verticaux de la hauteur de la barre de Défilement est.
Je veux voir combien de pixels verticaux de la hauteur de la barre de Défilement est.
OriginalL'auteur dajood | 2012-10-01
Vous devez vous connecter pour publier un commentaire.
Je pense que vous pouvez utiliser le lookupAll() la méthode de la classe de Nœud pour trouver les barres de défilement.
http://docs.oracle.com/javafx/2/api/javafx/scene/Node.html#lookupAll(java.lang.Chaîne de caractères)
Par exemple:
Fonctionne pour moi (JavaFX 8) au moment de l'exécution – http://stackoverflow.com/questions/28904312/how-to-access-scrollbar-in-a-scrollpane-javafx.
OriginalL'auteur ytw
Ce n'est pas le meilleur de la pratique, mais les œuvres,
Utiliser "tsl" pour la barre de Défilement Horizontale.
Meilleures Salutations,
Henrique Guedes.
OriginalL'auteur Guedolino
Depuis le mentionné méthodes ne fonctionnent pas pour tout le monde (y compris moi), j'ai étudié un peu plus et a trouvé la source du problème.
En général, les deux méthodes fonctionnent, mais seulement dès que le
composant ScrollPane
'speau
propriété a été définie. Dans mon cas,skin
était encorenull
après le chargement de mon point de vue à l'aide deFXMLLoader
.Par le retard de l'appeler en cas de
skin
propriété n'a pas été initialisé (à l'aide d'un one-shot auditeur) résout le problème.De travail de la chaudière-plaque de code:
Merci pour l'entrée! J'ai mis à jour le code pour ne pas utiliser
Platform.runLater()
mais à écouter un changement à laskin
de la propriété.OriginalL'auteur Markus Weninger