我在此页面中使用了启用单元格编辑的示例 13-10 TableViewSample:
http://docs.oracle.com/javafx/2/ui_controls/table-view.htm
让我们看看这部分:
firstNameCol.setOnEditCommit(
new EventHandler<CellEditEvent<Person, String>>() {
@Override
public void handle(CellEditEvent<Person, String> t) {
((Person) t.getTableView().getItems().get(
t.getTablePosition().getRow())
).setFirstName(t.getNewValue());
}
}
);
在句柄方法中,我想做一些捕获异常的事情,当异常发生时,单元格文本必须恢复到它的旧值。但我不能改变文字,当我打电话
((Person) t.getTableView().getItems().get(
t.getTablePosition().getRow())
).setFirstName(t.getOldValue());
只是改变tableView数据的值,不显示文本