Categories
Blog

JavaFX: Vấn đề về TableView control

TableView là control để hiển thị và chỉnh sửa dữ liệu dưới dạng bảng.

Hiện tại (đến JavaFX 14) trải nghiệm trên control này vẫn còn một số điểm hạn chế trong thao tác nhập dữ liệu. Chẳng hạn như không thể xử lí thao tác nhập tức thời như ở Excel, mà cần double-click  (hoặc nhấn F2) để vào mode nhập. Khi click ra khỏi cell thì dữ liệu đang nhập bị hủy bỏ. Điều này khiến thao tác nhập dữ liệu rất chậm chạp, và cũng không có một thiết lập đơn giản để tùy chọn.

Việc customize cũng gặp khó khăn, chẳng hạn không có các phương thức public để thay đổi keyboard input map. Không thể kế thừa TableViewSkin và TableViewBehavior (2 class mặc định) để thay thế behavior mặc định được. Để điều chỉnh behavior của TableView có lẽ cần một sự nỗ lực lớn và mất nhiều công sức.

Một ứng cử viên thay thế cho TableView là SpreadSheetView của controlsfx. Tuy nhiên, đến thời điểm hiện tại (4/2020) thì control này chưa hỗ trợ trên JavaFX SDK 9+ (modular).

Leave a Reply