我有一个包含 java.sql.Date 的列,我希望它按升序将空值放在底部:
现在,他们最终名列前茅。
followupCol.setCellFactory((TableColumn<DisabilityCase, Date> p) ->
{
TableCell<DisabilityCase, Date> cell = new TableCell<DisabilityCase, Date>()
{
@Override
protected void updateItem(Date item, boolean empty)
{
super.updateItem(item, empty);
if (item == null || empty)
{
setText(null);
} else
{
if (!LocalDate.now().isBefore(item.toLocalDate()))
{
setTextFill(Color.RED);
} else
{
setTextFill(Color.BLACK);
}
setText(new SimpleDateFormat(DATE_FORMAT).format(item));
}
}
};
return cell;
});
Run Code Online (Sandbox Code Playgroud)
由于java.sql.Date已经Comparable,您可以使用
followupCol.setComparator(Comparator.nullsLast(Comparator.naturalOrder()));
Run Code Online (Sandbox Code Playgroud)