/* * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. */ package treeviewnoscrollevent; import javafx.application.Application; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.TreeItem; import javafx.scene.control.TreeView; import javafx.scene.input.ScrollEvent; import javafx.scene.layout.StackPane; import javafx.stage.Stage; /** * * @author asakharu */ public class TreeViewNoScrollEvent extends Application { @Override public void start(Stage primaryStage) { TreeView treeView = new TreeView<>(); TreeItem rootItem = new TreeItem<>("ROOT"); TreeItem numbers = new TreeItem<>("Numbers"); TreeItem letters = new TreeItem<>("Letters"); for(String s: LETTERS) { letters.getChildren().add(new TreeItem(s)); } for(String s: NUMBERS) { numbers.getChildren().add(new TreeItem(s)); } rootItem.getChildren().addAll(numbers, letters); treeView.setRoot(rootItem); treeView.setOnScroll(new EventHandler() { @Override public void handle(ScrollEvent t) { System.out.println("Scrolled"); } }); StackPane root = new StackPane(); root.getChildren().add(treeView); Scene scene = new Scene(root, 250, 300); primaryStage.setTitle("TreeView no scroll event"); primaryStage.setScene(scene); primaryStage.show(); } /** * The main() method is ignored in correctly deployed JavaFX application. * main() serves only as fallback in case the application can not be * launched through deployment artifacts, e.g., in IDEs with limited FX * support. NetBeans ignores main(). * * @param args the command line arguments */ public static void main(String[] args) { launch(args); } public static final String[] LETTERS = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"}; public static final String[] NUMBERS = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20"}; }