JavaFx - TableView:如何使用自定义Comparator <t>进行排序?

时间:2015-08-19 01:46:30

标签: java sorting javafx tableview javafx-8

...其中mshtml.dllT的通用类型。

到目前为止,我正在实现一个包含三列的文件列表视图。每种类型TableView。对于name列,我编写了一个java.nio.file.Path,它使用directories-first和case-insensitiv对文件进行排序。另外两个比较器按最后修改时间和文件大小排序。为此,他们在Comparator<Path>字段进行比较。

但是列的long基于comparatorProperty。我认为,根据显示的文字对其进行排序......

所以我必须找到一种方法,使用带有Comparator<String>类型的标题点击排序功能

1 个答案:

答案 0 :(得分:2)

创建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.