在JavaFx中编辑表
我已经用JavaFx创建了一个表。我使用反射将数字1到100填充到表中。此表包含区域编号和说明。有100个区域。我希望表格是可编辑的。我使用了以下代码使单元格可编辑在JavaFx中编辑表,java,reflection,javafx,tableview,tablecolumn,Java,Reflection,Javafx,Tableview,Tablecolumn,我已经用JavaFx创建了一个表。我使用反射将数字1到100填充到表中。此表包含区域编号和说明。有100个区域。我希望表格是可编辑的。我使用了以下代码使单元格可编辑 zonesTable.setEditable(true); zone.setEditable(true); zone.setCellFactory(TextFieldTableCell.<Zones>forTableColumn()); description.setEditable(true); descriptio
zonesTable.setEditable(true);
zone.setEditable(true);
zone.setCellFactory(TextFieldTableCell.<Zones>forTableColumn());
description.setEditable(true);
description.setCellFactory(TextFieldTableCell.<Zones>forTableColumn());
zone.setCellValueFactory(new PropertyValueFactory<Zones, String>("rZoneNumber"));
description.setCellValueFactory(new PropertyValueFactory<Zones, String>("rDescription"));
for(int i = 0; i < 100; i++){
data.add(new Zones(i + "", ""));
}
zonesTable.setItems(data);
zonesTable.setEditable(true);
zone.setEditable(true);
zone.setCellFactory(TextFieldTableCell.forTableColumn());
description.setEditable(true);
description.setCellFactory(TextFieldTableCell.forTableColumn());
zone.setCellValueFactory(新的PropertyValueFactory(“rZoneNumber”));
说明.setCellValueFactory(新属性ValueFactory(“rDescription”);
对于(int i=0;i<100;i++){
数据。添加(新分区(i+“”,“”);
}
可分区。设置项(数据);
目前,此代码将数字添加到“区域”列,并使“区域”和“描述”列可编辑。但是,在我向列中键入值并单击下一行后,我输入到表中的值将消失。我不知道为什么。在选择与正在编辑的行不同的行后,我需要做什么才能使键入的值在表中保持可见?提前谢谢
但是,在我在列中键入值并单击下一行之后,
我输入到表中的值消失了
它不起作用,因为JavaFX中有一个严重的、令人尴尬的错误,Oracle拒绝修复
您的解决方案是在单击下一行之前按enter键。当然,你不能要求你的用户这样做
你可以找到一个解决办法
如果您想更新修复程序并对错误进行注释,则。没有足够的代码来确定如何使用该表
当输入被按下时,这些文件仍然只提交单元格中的更改。因此,您仍然需要根据您认为提交的版本的事件来实现自己的实现。
请张贴模型类,<代码>区域< /代码>。