【发布时间】:2019-02-23 11:43:32
【问题描述】:
所以在我的代码中,我有一个包含多个可编辑列的表格。
有些是文本,有些是下拉菜单,有些是选择框(真/假)
这是如何设置列的:
usernameCol.setCellFactory(TextFieldTableCell.forTableColumn());
usernameCol.setCellValueFactory(new PropertyValueFactory<User,String>("username"));
permissionLevelCol.setCellFactory(ChoiceBoxTableCell.forTableColumn(/* this is a String[]*/usersManager.getPermissionNamesList()));
permissionLevelCol.setCellValueFactory(new PropertyValueFactory<User,String>("permissionLevel"));
giveRefundsCol.setCellFactory(CheckBoxTableCell.forTableColumn());
giveRefundsCol.setCellValueFactory(new PropertyValueFactory<PermissionLevel, CheckBoxTableCell>("giveRefunds"));
这适用于TextFieldTableCell 和ChoiceBoxTableCell,但我不知道为ChoiceBoxTableCell 放什么 - 它需要CheckBoxTableCell.forTableColumn() 中的参数
错误信息:
错误:(56, 56) java: 没有为 forTableColumn 找到合适的方法(no 论据) 方法 javafx.scene.control.cell.CheckBoxTableCell.forTableColumn(javafx.scene.control.TableColumn) 不适用 (无法推断类型变量 S (实际参数列表和形式参数列表的长度不同)) 方法 javafx.scene.control.cell.CheckBoxTableCell.forTableColumn(javafx.util.Callback>) 不适用 (不能推断类型变量 S,T (实际参数列表和形式参数列表的长度不同)) 方法 javafx.scene.control.cell.CheckBoxTableCell.forTableColumn(javafx.util.Callback>,boolean) 不适用 (不能推断类型变量 S,T (实际参数列表和形式参数列表的长度不同)) 方法 javafx.scene.control.cell.CheckBoxTableCell.forTableColumn(javafx.util.Callback>,javafx.util.StringConverter) 不适用 (不能推断类型变量 S,T (实际参数列表和形式参数列表的长度不同)
ps:错误信息中的第56行是giveRefundsCol.setCellFactory(CheckBoxTableCell.forTableColumn());行
【问题讨论】:
-
请阅读 api 文档 ...归结为需要一个布尔列
-
@kleopatra 停止复制粘贴相同的回复到所有内容。如果它还不够最小、完整和可验证的示例,请转到另一个问题
-
@kleopatra 我读到了,但是我应该通过什么布尔列? usernameCol 和 permissionLevelCol 不需要传递列