JavaFX - ScrollPane -Dcom.sun.javafx.touch=true
VM arguments : -Dcom.sun.javafx.touch=true
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.ScrollBar;
import javafx.scene.control.ScrollPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
/**
* JavaFX App
*/
public class App extends Application {
public static void main(String[] args) {
launch();
}
@Override
public void start(Stage stage) {
// Element racine
var root = new VBox();
// Enfants de l'élément racine
ObservableList < Node > children = root.getChildren();
for (int i = 0; i < 100; i++) {
// Affiche cent libellé avec le nombre
children.add(new Label(String.valueOf(i)));
}
// Barre de défilement
var scrollPane = new ScrollPane(root);
// Quand la fenêtre est affichée
stage.setOnShown(event -> {
// Récupère la barre de défilement verticale
var vertical = (ScrollBar) scrollPane.lookup(".scroll-bar:vertical");
vertical.visibleProperty().addListener((obs, old, val) -> System.out
.println("La barre de défilement est " + (val ? "visible" : "invisible")));
});
var scene = new Scene(scrollPane, 640, 480);
stage.setScene(scene);
stage.show();
}
}
Commentaires
Enregistrer un commentaire