JavaFX更新TableView中的项目

时间:2012-10-31 16:39:29

标签: java javafx-2 javafx

我想用一个新的更新TableView中的selectedItem。 这是我能够提出的最接近的:

private ObservableList<String> data = FXCollections.observableArrayList();
private TableView tableview;

...
tableview.setItems(data);
... 

old = tableview.getSelectionModel().getSelectedItem();
new = "New"
data.remove(old);
data.add(new);

如果我只执行data.remove(旧)(不添加后),则selectView会从TableView消失,如果我只执行data.add(new)(之前没有删除),则添加新项目。没关系,但是当我在删除后添加(反之亦然)没有任何反应。

请对此有所启发。

1 个答案:

答案 0 :(得分:0)

我修复了它更新旧项目和做一个肮脏的技巧来更新tableview。

old = new;

// dirty hack
tableview.getColumns().get(0).setVisible(false);
tableview.getColumns().get(0).setVisible(true);

远不是一个优雅的解决方案,但它目前有效。