我有一个 JavaFX TableView 定义为:
TableView<MyMessage> messages;
它由 ObservableList 支持:
private ObservableList<MyMessage> messagesList;
// Allocate the message list
messagesList = FXCollections.observableArrayList();
// Set the list into place
messages.setItems( messagesList );
MyMessage对象有 10 个字符串类型的字段。有一个将MyMessage对象插入 ObservableList 的后台操作。
messages.add( new MyMessage( String ... colData ) );
一切都像宣传的那样工作。TableView 的表行随着对象插入 ObservableList 而更新。
似乎没有按预期工作的是,如果我单击列标题对表格进行排序,后台线程插入的后续项目将附加到表格的末尾。不是正确排序的行位置。如果我单击以重新排序该列,则该表将被正确地重新排序。
每次向 ObservableList 添加内容时,是否需要强制重新排序表格?或者 TableView 应该为我解决这个问题。
谢谢。