このページでは、セル編集を有効にした例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データの値を変更するだけです