Ví dụ sử dụng JavaFX TableView Custom

Việc sử dụng các lớp TableView, TableColumn và TableCell nhằm giúp hiển thị dữ liệu dưới dạng bảng theo các dòng và các cột trong lập trình JavaFX với ví dụ sử dụng JavaFX TableView Custom sau đây.

Ví dụ sử dụng JavaFX TableView sau đây mình sẽ mô phỏng hiển thị một bảng chứa danh sách dữ liệu các quốc gia trên thế giới như quốc kỳ (flag), tên quốc gia (country), thủ đô (capital), vị trí (location), diện tích đất liền (landArea), diện tích nước (waterArea).

Khởi tạo đối tượng Country.java

Đầu tiên bạn khởi tạo đối tượng Country.java với các thuộc tính flag, country, capital, location, landArea, waterArea như sau:

Khởi tạo đối tượng TableView, TableColumn

Đầu tiên bạn khởi tạo đối tượng TableView như sau: 

Tiếp theo bạn khởi tạo các cột TableColumn để thêm vào TableView:

Kết quả sau khi chạy đoạn mã chương trình trên:

Tùy biến JavaFX TableView Custom

Trong ví dụ sử dụng JavaFX TableView ở trên mình đã khởi tạo một TableView với một danh sách TableColumn, cùng với đó là danh sách dữ liệu được hiển thị. Tuy nhiên chưa dừng lại ở đó, đối với bảng trên mình muốn tùy biến cách dữ liệu được hiển thị bằng cách hiển thị ảnh, hiển thị checkbox… trong TableView.

  • Hiển thị hình ảnh trong TableView:

Với cột Flag mình sẽ hiển thị ảnh thay vì text, vậy mình sẽ thêm đối tượng ImageView trong TableCell như sau:

Kết quả sau khi chạy ví dụ sử dụng JavaFX TableView Custom hình ảnh như sau:

  • Hiển thị CheckBox trong TableView:

Với cột Active bây giờ mình sẽ tùy chỉnh hiển thị CheckBox thay vì hiển thị dạng text như sau:

Kết quả sau khi chạy ví dụ sử dụng JavaFX TableView Custom CheckBox như sau:

  • Hiển thị ComboBox trong TableView:

Với cột Location mình muốn hiển thị dữ liệu dạng ComboBox có thể lựa chọn được danh sách các châu lục, như vậy đầu tiên mình khởi tạo đối tượng ObservableList với danh sách các châu lục.

Sử dụng đoạn mã sau nếu muốn tùy chỉnh ComboBox trong TableView:

Kết quả sau khi chạy ví dụ sử dụng JavaFX TableView Custom ComboBox như sau:

  • Hiển thị màu nền trong TableView:

Với cột Land Area mình muốn hiển thị màu nền như sau

Kết quả sau khi chạy ví dụ sử dụng JavaFX TableView Custom trên như sau:

Lời kết: Mong rằng qua ví dụ sử dụng JavaFX TableView Custom giúp bạn tìm hiểu thêm về sử dụng JavaFX TableView cũng như có thể dễ dàng tùy chỉnh cách hiển thị dữ liệu theo ý mình trong TableView. Ngoài ra bạn có thể xem thêm nhiều bài viết khác trong chủ đề lập trình JavaFX tại Tutorials To Learn.

(Tác giả: Tutorials To Learn)

Bình luận