JavaFX Tableview 按升序排序 java.sql.Date 列,底部为空

tri*_*ogy 2 java javafx

我有一个包含 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)

Jam*_*s_D 6

由于java.sql.Date已经Comparable,您可以使用

followupCol.setComparator(Comparator.nullsLast(Comparator.naturalOrder()));
Run Code Online (Sandbox Code Playgroud)