0

我想用一个新的更新 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(old) (不添加之后),则 selectedItem 从 TableView 中消失,如果我只执行 data.add(new) (不删除之前),则添加新项目。没关系,但是当我在删除后进行添加(反之亦然)时,什么也没有发生。

请对此有所了解。

4

1 回答 1

0

我修复了它更新旧项目并做了一个肮脏的技巧来更新表格视图。

old = new;

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

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

于 2012-11-01T13:25:28.873 回答