[英]JavaFX parameterized editable tableview
我试图将可编辑表添加到我的项目中,并且发现此代码为我要尝试的操作提供了轮廓。 但是,它没有参数化,这似乎可以使它起作用(我的代码不断给我键入错误)。 有没有一种方法可以对此进行参数化,或者在这种情况下可以使用原始类型?
最好对TableView
和TableColumn
进行参数化。
您链接的代码有些“遗留”,因为它使用原始类型,并且不使用诸如TextFieldTableCell
类的辅助单元格类。
TextFieldTableCell
提供了一个静态的forTableColumn(...)
方法,该方法采用StringConverter<T>
并返回一个Callback
,该Callback
可用作TableColumn<S,T>
的cellFactory
。 StringConverter<T>
仅提供用于将输入到TextField
的String
转换为T
以及将T
转换为要在单元格中显示的String
的方法。
为数字类型提供了标准的StringConverter
,例如IntegerStringConverter
和DoubleStringConverter
。
尝试以下方法:
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()));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.