JavaFx-表格 View : How to use custom Comparator<T> for sorting?

标签 java sorting javafx tableview javafx-8

...哪里TTableView 的泛型类型.

到目前为止,我正在实现一个包含三列的文件 ListView 。每个类型java.nio.file.Path 。对于名称栏,我写了 Comparator<Path>它按目录优先且不区分大小写对文件进行排序。另外两个比较器按上次修改时间和文件大小排序。为此,他们比较 long字段。

但是comparatorProperty列基于 Comparator<String> 。我认为,根据显示的文本进行排序...

所以我必须找到一种方法,将标题点击排序功能与 TableView 的类型结合使用。 ?

最佳答案

在创建 TableColumn 时,您使用了错误的类型参数。如果您创建 TableColumn<Path, Path> ,您可以指定Comparator<Path>对于该专栏。同样TableColumn<Path, FileTime>TableColumn<Path, Long>使用Comparator<FileTime>Comparator<Long> .

来自文档:

Class TableColumnBase<S,T>
Type Parameters:
S - The type of the UI control (e.g. the type of the 'row').
T - The type of the content in all cells in this table column.

关于JavaFx-表格 View : How to use custom Comparator<T> for sorting?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32085250/

相关文章:

Perl - 从引用的@array 中删除重复项

Java自然归并排序实现

java - if语句逻辑

java - 如何在Java中对SQL查询处理的数据进行处理和分组?

java - 用于解析 JAX-RS 结果的 XPath

Android:在 ListView 中对整数值进行排序

JavaFX-按钮高度不会变小?

java - 为什么我会遇到 GridPane 调整大小问题?

java - 如何使用 JavaFX 从 TabPane 中实际隐藏 Tab

java - 使用 sax 和 java 从 xml 文件中删除多个节点