Hướng dẫn sử dụng JavaFX ListView
Công ty Vĩnh Cửu tuyển dụng lập trình viên Java

1- JavaFX ListView

JavaFX ListView hiển thị các phần tử (Items) của nó theo chiều thẳng đứng hoặc theo chiều ngang.
Dưới đây là một ListView thẳng đứng, gồm 3 phần tử (item).
ListView nằm ngang
// Mặc định ListView là thẳng đứng.
// Sét ListView có hướng nằm ngang.

listView.setOrientation(Orientation.HORIZONTAL);

2- Ví dụ ListView

ListViewDemo.java
package org.o7planning.javafx.listview;

import org.o7planning.javafx.model.Book;

import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.ListView;
import javafx.scene.control.SelectionMode;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class ListViewDemo extends Application {

  @Override
  public void start(Stage stage) {

      Book book1 = new Book(1L, "J01", "Java IO Tutorial");
      Book book2 = new Book(2L, "J02", "Java Enums Tutorial");
      Book book3 = new Book(2L, "C01", "C# Tutorial for Beginners");


      // Một danh sách
      ObservableList<Book> books = FXCollections.observableArrayList(book1, book2, book3);

      // Tạo một ListView
      ListView<Book> listView = new ListView<Book>(books);


      // Cho phép lựa chọn nhiều dòng trên danh sách.
      listView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);


      // Lựa chọn phần tử Index = 1,2
      listView.getSelectionModel().selectIndices(1, 2);

      // Focus
      listView.getFocusModel().focus(1);

      StackPane root = new StackPane();
      root.getChildren().add(listView);

      stage.setTitle("ListView (o7planning.org)");

      Scene scene = new Scene(root, 350, 200);
      stage.setScene(scene);
      stage.show();
  }

  public static void main(String[] args) {
      launch(args);
  }
}
Book.java
package org.o7planning.javafx.model;

public class Book {

    private Long id;
    private String code;
    private String name;

    public Book(Long id, String code, String name) {
        this.id = id;
        this.code = code;
        this.name = name;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return this.name;
    }
    
}
Chạy ví dụ: