Javafx 为某些列定义自己的排序逻辑

Javafx 为某些列定义自己的排序逻辑,javafx,tableview,Javafx,Tableview,表中有数字和字母数字列。但当我按字母数字字段之一排序时,我得到了不正确的排序。例如: 4 Kb/s > 24 Kb/s 4 Kb/s > 2 Mb/s 我使用表的自动排序。您应该能够定义自己的比较器来确定这些值应该如何排序。也许最好更改列的类型。看起来列的数据类型应该是Integer或Double(或者可能只是Number)。然后它将正确排序。您可以在列上使用cellFactory来显示附加单位的值。@James\u D,您能用任何Integer对象的cellFactory示例来回

表中有数字和字母数字列。但当我按字母数字字段之一排序时,我得到了不正确的排序。例如:

4 Kb/s > 24 Kb/s
4 Kb/s > 2 Mb/s

我使用表的自动排序。

您应该能够定义自己的比较器来确定这些值应该如何排序。也许最好更改列的类型。看起来列的数据类型应该是
Integer
Double
(或者可能只是
Number
)。然后它将正确排序。您可以在列上使用
cellFactory
来显示附加单位的值。@James\u D,您能用任何
Integer对象的
cellFactory
示例来回答这个问题吗?如果属性是simple
Integer
,我应该使用哪个参数调用
setCellValueFactory()
?最后:
TableColumn
TableColumn
,因为它将显示
Stirng
,但属性是
Integer
。谢谢大家!@James_D,对不起,我是JavaFX和Java的新手,不是因为我不知道你实际上在做什么:你没有发布任何代码。
TableColumn
中的第一个类型参数应该是每行中项目的类型,因此它应该是比
对象
更具体的类型(它应该是传递给
table.getItems().add(…)
,并且应该是为
TableView
声明的类型)。也许会看到