gpt4 book ai didi

javafx:默认对TableView进行排序

转载 作者:行者123 更新时间:2023-12-02 03:29:50 26 4
gpt4 key购买 nike

我正在开发一个小游戏,它有一个由 javafx TableView 显示的高分列表。我创建了一个子类 HighscoreTableView extends TableView ,它是一个 TableView 节点,它会自动创建我需要的 TableColumns 并用构造数据填充它们。

我希望该表在初始化时按默认列排序。我添加了以下代码行:

duration.setSortType(TableColumn.SortType.DESCENDING);
this.getSortOrder().add(duration);
duration.setSortable(true);
this.sort();

其中持续时间是应定义排序的TableColumn。当然,它被添加到TableView中。但是,当我创建该 HighscoreTableView 的新实例时,默认情况下它保持未排序状态,直到用户单击其中一个列标题。这是出乎意料的,因为 this question , this questionthis question说它应该这样工作。有什么想法吗?

复制的更多信息:HighscoreTableView 类由 HighscoreStage extends Stage 类使用,该类包含一个带有四个选项卡的 TabPane。每个选项卡都包含一个 HighscoreTableView,其中包含从静态 Data 对象获取的不同数据。数据模型是一个 HighscoreEntry 类,其中的一个 ObservableList 被添加到 HighscoreTableView 中。我的完整代码可用 here .

最佳答案

您在加载任何数据之前调用sort()。相反,您应该每次在向 TableView 添加/更改数据后调用它。您也可以使用SortedList使用适当的比较器来包装您的原始支持列表。所有更改都会自动传播到 View 。

关于javafx:默认对TableView进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38256827/

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