JavaFX参数化可编辑的tableview

时间:2014-07-04 23:37:04

标签: java javafx

我正在尝试为我的项目添加一个可编辑的表格,I found this code概述了我正在尝试做的事情。但是,它没有参数化,这似乎使它工作(我的代码不断给我类型错误)。有没有办法参数化这个或在这种情况下是原始类型好吗?

1 个答案:

答案 0 :(得分:1)

最好参数化TableViewTableColumn

您链接的代码有些“遗留”,因为它使用原始类型而不使用辅助单元类,例如TextFieldTableCell

TextFieldTableCell提供静态forTableColumn(...)方法,该方法需要StringConverter<T>并返回CallbackcellFactory可用作TableColumn<S,T> StringConverter<T> }。 String只提供了将输入TextField的{​​{1}}转换为T,以及将T转换为String的方法显示在单元格中。

为数字类型提供了标准StringConverter,例如IntegerStringConverterDoubleStringConverter

尝试以下方面的内容:

TableView<MyDataType> table = new TableView<>();

TableColumn<MyDataType, Integer> intColumn = new TableColumn<>("Int Column");
intColumn.setCellFactory(TextFieldTableCell.forTableColumn(new IntegerStringConverter()));

TableColumn<MyDataType, Double> doubleColumn = new TableColumn<>("Double Column");
doubleColumn.setCellFactory(TextFieldTableCell.forTableColumn(new DoubleStringConverter()));