javafx - 如何在 javafx 的表格单元中使组合框可编辑?
问题描述
我已经使用 ComboBoxTableCell 在表格单元格中设置了一个组合框,现在我希望这个组合框可编辑,以便用户可以相应地对其进行编辑。我已将组合框的可编辑属性设为 true,但没有成功。下面是代码。
ComboBoxTableCell combo = new ComboBoxTableCell();
tc_target.setCellFactory(combo.forTableColumn(new
DefaultStringConverter(), trans));
tc_target.setOnEditCommit(new
EventHandler<TableColumn.CellEditEvent<File, String>>() {
@Override
public void handle(TableColumn.CellEditEvent<File, String>event) {
//work to do
}
});
combo.setEditable(true);
我怎样才能使这个组合框可编辑?很高兴有任何建议。
解决方案
(ComboBoxTableCell
和其他类似的类)在其 Javadoc 中不太清楚。正确使用的要求ComboBoxTableCell
是:
TableColumn
必须是可编辑的。TableView
它所属的 也必须是可编辑的。
如果您需要确保其他列不可编辑,则显式调用TableColumn.setEditable(false)
这些列。
作为旁注,你不需要写setOnEditCommit()
,我不确定ComboBoxTableCell
你这样做是否会破坏。
推荐阅读
- c# - 在 MouseOver 上重绘按钮图形或单击
- c# - C# 分配列表
.Count 减一到整数不起作用 - spring-boot - 在 Spring Boot WebMvcConfigurer 中允许 CORS 时,请求的资源上不存在“Access-Control-Allow-Origin”标头
- javascript - 使用预签名 URL 上传后,AWS S3 上的文件在文件中有额外信息
- reactjs - 在 formik 组件之外处理 formik 表单
- javascript - 空手道 DSL - 如何从 __arg 读取令牌字符串并在 json 请求中发送此字符串?
- python-3.x - Python 3.7:GridSearchCV 和 RandomizedSearch CV 上的 ValueError - 输入包含 NaN、无穷大或对于 dtype('float32') 来说太大的值。-
- python - 无法使用 Selenium (Python) 检索脚本执行的 html 源
- python - Cython 无法识别 pymalloc Python
- ruby-on-rails - Rails 嵌套连接条件