如何在JavaFX中创建表格单元格工厂以显示ChoiceBox?

如何在JavaFX中创建表格单元格工厂以显示ChoiceBox?,javafx,tableview,Javafx,Tableview,我试图在JavaFX中的TableView中显示一个ChoiceBox。现在我只是想测试我是否能让它工作,所以我在细胞工厂里生成假数据,但我甚至不能让它工作 我的IDE给了我一个错误 forTableColumn (javafx.collections.ObservableList<T>) in ChoiceBoxTableCell cannot be applied to (javafx.collections.ObservableList<java.

我试图在JavaFX中的TableView中显示一个ChoiceBox。现在我只是想测试我是否能让它工作,所以我在细胞工厂里生成假数据,但我甚至不能让它工作

我的IDE给了我一个错误

forTableColumn (javafx.collections.ObservableList<T>) in ChoiceBoxTableCell cannot be applied
to             (javafx.collections.ObservableList<java.lang.String>)
无法应用ChoiceBoxTableCell中的forTableColumn(javafx.collections.ObservableList) 到(javafx.collections.ObservableList) 这是我的密码

private ListView<RequirementsProperty> guiPropertyList;
private TableColumn<RequirementsProperty, String> guiSpecifierColumn;

guiSpecifierColumn.setCellFactory(
                new Callback<TableColumn<RequirementsProperty, String>, TableCell<RequirementsProperty, String>>() {
                    @Override
                    public TableCell<RequirementsProperty, String> call(TableColumn<RequirementsProperty, String> param) {
                        ObservableList<String> testlist = FXCollections.observableArrayList("A", "B", "C");
                        return ChoiceBoxTableCell.forTableColumn(testlist);
                    }
                });
私有ListView guiPropertyList;
私有TableColumn guiSpecifierColumn;
guiSpecifierColumn.setCellFactory(
新回调函数(){
@凌驾
公共TableCell调用(TableColumn参数){
ObservableList testlist=FXCollections.observableArrayList(“A”、“B”、“C”);
返回ChoiceBoxTableCell.forTableColumn(testlist);
}
});

有人知道我做错了什么吗?我现在只想显示包含A、B和C的列表,然后我可以继续显示我自己的数据。

ChoiceBoxTableCell.forTableColumn(…)
返回一个
回调本身(即返回
cellFactory
,而不是单元格)

你可以这么做

ObservableList<String> testlist = FXCollections.observableArrayList("A", "B", "C");
guiSpecifierColumn.setCellFactory(ChoiceBoxTableCell.forTableColumn(testlist));

您是否尝试过
ChoiceBoxTableCell.forTableColumn(testlist)?您使用的是什么Java版本?
guiSpecifierColumn.setCellFactory(
    new Callback<TableColumn<RequirementsProperty, String>, TableCell<RequirementsProperty, String>>() {
         @Override
         public TableCell<RequirementsProperty, String> call(TableColumn<RequirementsProperty, String> param) {
              ObservableList<String> testlist = FXCollections.observableArrayList("A", "B", "C");
              return new ChoiceBoxTableCell(testlist);
         }
    });