如何在JavaFX中创建表格单元格工厂以显示ChoiceBox?
我试图在JavaFX中的TableView中显示一个ChoiceBox。现在我只是想测试我是否能让它工作,所以我在细胞工厂里生成假数据,但我甚至不能让它工作 我的IDE给了我一个错误如何在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.
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);
}
});