gpt4 book ai didi

当列排序处于事件状态时,JavaFX TableView 在 ObservableList 中插入

转载 作者:行者123 更新时间:2023-12-05 01:17:28 26 4
gpt4 key购买 nike

我有一个 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 );

我的留言 object 有 10 个字段,所有字段都是 String 类型。有一个后台操作插入 我的留言 对象放入 ObservableList。
messages.add( new MyMessage( String ... colData ) );

一切都像宣传的那样工作。当对象插入 ObservableList 时,TableView 的表行会更新。

似乎没有按预期工作的是,如果我单击列标题对表格进行排序,后台线程插入的后续项目将附加到表格的末尾。没有到正确的排序行位置。如果我单击对列进行重新排序,则表将正确重新排序。

每次向 ObservableList 添加内容时,是否需要强制重新排序表格?或者 TableView 应该为我处理这个问题。

谢谢。

最佳答案

Java FX 8 现在有一个 .sort()可以调用 tableView 上的方法来重新触发排序。某些操作会自动触发重新排序,但在 observable 集合中添加/删除条目的外部事件不会。

关于当列排序处于事件状态时,JavaFX TableView 在 ObservableList 中插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13409350/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com