5
đang
Rất đơn giản:Tại sao SortedList.add() ném UnsupportedOperationException?
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.collections.transformation.SortedList;
public final class SortedListTest {
public static void main(String[] args) {
final ObservableList<Integer> il = FXCollections.observableArrayList();
final SortedList<Integer> sil = new SortedList<>(il);
sil.comparatorProperty().set((l,r)-> l-r);
sil.add(12);
}
}
Thực hiện:
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.add(AbstractList.java:148)
at java.util.AbstractList.add(AbstractList.java:108)
at SortedListTest.main(SortedListTest.java:13)
Tôi phải đưa danh sách được sắp xếp vào TableView và giữ danh sách cơ bản trong mô hình của tôi. Các thao tác trên mô hình được thực hiện trên danh sách cơ bản khi sắp xếp các khung nhìn. Làm thế nào tôi có thể thể hiện một ràng buộc có trật tự trong mô hình? – Aubin
Tôi không hoàn toàn chắc chắn tôi hiểu, nhưng nó sẽ làm việc để lưu trữ một 'ObjectProperty>' trong mô hình (nơi 'T' là kiểu dữ liệu cho bảng), và (hai chiều?) Liên kết nó với thuộc tính so sánh của 'SortedList'? –
Điều này phải là một trong những lớp "tiện ích" ngu ngốc nhất mà họ đã đưa vào trong JavaFX .. nếu nó không thành công trong trường hợp sử dụng đơn giản này. Tôi lấy một cái gì đó giống như một hộp kết hợp, đặt các mục vào một SortedList để thuận tiện, và sau đó, tất cả các cuộc gọi đến comboBox.getItems.add (...) sẽ thất bại? Facepalm đến một mức sử thi .... Tại sao trên trái đất họ không vượt qua các cuộc gọi thêm xuống danh sách gói? – user2163960