我在本页中使用了示例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());
}
}
);
在handle方法中,我想做一些捕获异常的事情,当发生异常时,必须将单元格文本恢复为旧值。 但是当我打电话时,我无法改变文字
((Person) t.getTableView().getItems().get(
t.getTablePosition().getRow())
).setFirstName(t.getOldValue());
只是更改tableView数据的值,而不是显示文本