JavaFX:在TableView的开头添加行

时间:2017-01-06 15:34:57

标签: java javafx

我有一个TableView,有数千行。现在我想在当前表的beginng处添加行,但不是在末尾添加行。 TableView将其项目保留在ObservableList中。我看到的唯一解决方案是创建新列表(使用新旧元素),清除当前表并向表中添加新列表。但是,我需要不断地进行这项操作,从性能来看,这将是一场噩梦。还有其他解决方案吗?

2 个答案:

答案 0 :(得分:2)

ObservableList扩展了List因此允许您使用List声明的任何方法,例如List.addList.addAll

TableView<MyItem> tableView = ...
List<MyItem> itemsToPrepend = ...
MyItem itemToPrepend = ...

tableView.getItems().addAll(0, itemsToPrepend);
tableView.getItems().add(0, itemToPrepend);

答案 1 :(得分:2)

ObservableList是一个扩展List接口的接口: ObservableList&amp;&amp; List

在List Interface中,方法add(index, element)尝试使用myObservableList.add(0, item);