By adding
change listener to ListView instance, you can track the events on ListView
widget.
Ex
ListView<String>
listView = new ListView<>();
listView.getSelectionModel().selectedItemProperty().addListener((ObservableValue<?
extends String> ov, String old_val, String new_val) -> {
String selectedItem =
listView.getSelectionModel().getSelectedItem();
label.setText("Item selected :
" + selectedItem);
});
Find the
below working application.
package com.sample.demos; import javafx.scene.paint.Color; import javafx.application.Application; import javafx.beans.value.ObservableValue; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.control.ListView; import javafx.scene.layout.HBox; import javafx.stage.Stage; public class ListViewApp extends Application { @Override public void start(Stage primaryStage) { ListView<String> listView = new ListView<>(); ObservableList<String> items = FXCollections.observableArrayList("Cricket", "Chess", "Kabaddy", "Badminton", "Football", "Golf", "CoCo", "car racing"); listView.setItems(items); Label label = new Label(); label.setTextFill(Color.RED); listView.getSelectionModel().selectedItemProperty().addListener((ObservableValue<? extends String> ov, String old_val, String new_val) -> { String selectedItem = listView.getSelectionModel().getSelectedItem(); label.setText("Item selected : " + selectedItem); }); HBox hBox = new HBox(30, listView, label); Scene scene = new Scene(hBox, 500, 200); /* Set the scene to primaryStage, and call the show method */ primaryStage.setTitle("JavaFX ListView app Example"); primaryStage.setScene(scene); primaryStage.show(); } }
TestFX.java
package com.sample.demos; import javafx.application.Application; public class TestFX { public static void main(String args[]) { Application.launch(ListViewApp.class, args); } }
No comments:
Post a Comment