import com.sun.javafx.runtime.VersionInfo; import javafx.application.Application; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.geometry.Orientation; import javafx.scene.Scene; import javafx.scene.control.ListView; import javafx.scene.control.SelectionMode; import javafx.scene.control.ToggleButton; import javafx.scene.layout.VBox; import javafx.stage.Stage; public class ListViewSelection extends Application { public static final ObservableList names = FXCollections.observableArrayList(); public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) { primaryStage.setTitle("List View Sample: " + VersionInfo.getRuntimeVersion()); // final ListView listView = new ListView(names); final ListView listView = new ListView(); listView.setOrientation(Orientation.HORIZONTAL); for (int i = 0; i < 20; i++) { listView.getItems().add(String.valueOf(i * i)); } listView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); listView.setPrefSize(300, 250); // names.addAll( // "Adam", "Alex", "Alfred", "Albert", // "Brenda", "Connie", "Derek", "Donny", // "Lynne", "Myrtle", "Rose", "Rudolph", // "Tony", "Trudy", "Williams", "Zach" // // ); listView.getSelectionModel().selectedIndexProperty().addListener((listener) -> { System.out.println(listView.getSelectionModel().getSelectedItems()); }); VBox root = new VBox(); root.getChildren().add(listView); ToggleButton orientation = new ToggleButton("Orientation: Horizontal"); orientation.setSelected(true); orientation.selectedProperty().addListener(new ChangeListener() { @Override public void changed(ObservableValue observableValue, Boolean isSelected, Boolean _) { if (isSelected) { orientation.setText("Orientation: Vertical"); listView.setOrientation(Orientation.VERTICAL); } else { orientation.setText("Orientation: Horizontal"); listView.setOrientation(Orientation.HORIZONTAL); } } }); root.getChildren().add(orientation); primaryStage.setScene(new Scene(root, 225, 250)); primaryStage.show(); } }