Vidéo: JavaFX 8 Tutorial 42 - Fetch Database Values on Table MouseClicked Method 2024
Le contrôle ScrollBar dans JavaFX n'est généralement pas utilisé par lui-même; à la place, il est utilisé par d'autres contrôles tels que ScrollPane ou ListView pour afficher la barre de défilement qui permet à l'utilisateur de faire défiler le contenu d'un panneau ou d'une autre région.
Cependant, il peut arriver que vous souhaitiez utiliser une barre de défilement à d'autres fins que le défilement d'une région. En fait, vous pouvez utiliser une barre de défilement de la même manière que vous utilisez un curseur, car les deux sont très similaires.
Une différence est que contrairement à un curseur, une barre de défilement n'autorise pas les graduations. Mais d'autre part, une barre de défilement a des boutons d'incrémentation et de décrémentation à chaque extrémité de la barre, ce qui permet à l'utilisateur de définir la valeur de la barre de défilement vers le haut ou vers le bas par incréments fixes.
Cette figure montre une version d'un mélangeur audio, implémentée uniquement avec des barres de défilement. Comme dans la version du curseur, chaque barre de défilement est associée à un objet Texte qui affiche la valeur de la barre de défilement à chaque fois que l'utilisateur manipule le contrôle.
Vous pouvez utiliser la méthode d'assistance suivante pour créer chaque barre de défilement combinée et objet Texte:
Utilisation de barres de défilement JavaFX pour créer une table de mixage.Noeud privé makeScrollBar (valeur int) {Text text = new Text (); texte. setFont (nouvelle police ("sans-serif", 10)); ScrollBar sb = nouveau ScrollBar (); sb. setOrientation (Orientation VERTICALE); sb. setPrefHeight (150); sb. valueProperty (). addListener ((observable, oldvalue, nouvelle valeur) -> {int i = nouvelle valeur.intValue (); texte.setText (Integer.toString (100-i));}); sb. setValue (valeur); Boîte de VBox = nouvelle VBox (10, sb, texte); boîte. setPadding (new Insets (10)); boîte. setAlignment (Pos. CENTRE); boîte. setMinWidth (30); boîte. setPrefWidth (30); boîte. setMaxWidth (30); boîte de retour;}