javafx表视图添加datepicker

时间:2016-06-06 18:41:46

标签: javafx

如何在javafx表视图的列中添加内联编辑的日期选择器?

<TableView fx:id="timelineTable" VBox.vgrow="ALWAYS">
 <columns>
    <TableColumn fx:id="dateColumn" prefWidth="85.0" text="%timeline.date" />
 </columns>
</TableView>

2 个答案:

答案 0 :(得分:1)

您需要在TableCell @Override方法中实现自定义updateItem。此方法应将图形设置为DatePicker。 或者,您将实现可编辑的TableCell,您只需设置 DatePicker作为实际编辑单元格时的图形。

答案 1 :(得分:0)

以下是一段可能有助于实现您的想法的代码:

更完整的是here

Callback<TableColumn<String, String>, TableCell<String, String>> cellFactory = new Callback<TableColumn<String, String>, TableCell<String, String>>() {
        @Override
        public TableCell call(final TableColumn<String, String> param) {

            final TableCell<String, String> cell = new TableCell<String, String>() {

                final DatePicker datePicker = new DatePicker();

                @Override
                public void updateItem(String item, boolean empty) {
                    super.updateItem(item, empty);
                    if (empty) {
                        setGraphic(null);
                        setText(null);
                    } else {

                        setGraphic(datePicker);
                        setText(null);
                    }
                }
            };
            return cell;
        }
    };