如何在javafx表视图的列中添加内联编辑的日期选择器?
<TableView fx:id="timelineTable" VBox.vgrow="ALWAYS">
<columns>
<TableColumn fx:id="dateColumn" prefWidth="85.0" text="%timeline.date" />
</columns>
</TableView>
答案 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;
}
};