package mytest; import javafx.application.Application; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.SelectionMode; import javafx.scene.control.TreeItem; import javafx.scene.control.TreeView; import javafx.scene.input.MouseEvent; import javafx.scene.shape.Rectangle; import javafx.stage.Stage; /* * To change this template, choose Tools | Templates * and open the template in the editor. */ /** * * @author sjiang */ public class MyTreeViewTest extends Application { public static void main(String[] args) throws Exception { Application.launch(args); } @Override public void start(Stage stage) throws Exception { final TreeView treeView = new TreeView(); treeView.setPrefSize(300, 300); treeView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); TreeItem root = new TreeItem(new Rectangle(20, 10)); root.setExpanded(true); treeView.setRoot(root); // final TreeItem aaa = new TreeItem("aaa"); // final TreeItem bbb = new TreeItem("bbb"); // final TreeItem ccc = new TreeItem("ccc"); final TreeItem aaa = new TreeItem(new Rectangle(20, 10)); final TreeItem bbb = new TreeItem(new Rectangle(20, 10)); final TreeItem ccc = new TreeItem(new Rectangle(20, 10)); root.getChildren().setAll(aaa, bbb, ccc); treeView.addEventFilter(MouseEvent.MOUSE_CLICKED, new EventHandler() { public void handle(MouseEvent event) { if (event.getClickCount() == 2) { event.consume(); System.out.println("---jsl double clicked event is consumed ? "+event.isConsumed()); } } }); Scene scene = new Scene(treeView); stage.setScene(scene); stage.show(); } private static void addChildren(TreeItem parent, String name) { for (int i=0; i<3; i++) { TreeItem ti = new TreeItem(name+"-"+i); parent.getChildren().add(ti); } parent.setExpanded(true); } }