如何在TableWie中查找记录(例如通过ID)并选择已创建的Row并将其放在Java 8(JavaFX)中的屏幕中间。
答案 0 :(得分:4)
您可以使用以下内容搜索元素:
int searchId = ... ;
table.getItems().stream().filter(item -> item.getId()==searchId).findAny()
然后只需使用常用方法选择项目(如果有的话)。 TableView
有一个scrollTo(...)
方法,可以滚动以便项目可见:
table.getItems().stream()
.filter(item -> item.getId() == searchId)
.findAny()
.ifPresent(item -> {
table.getSelectionModel().select(item);
table.scrollTo(item);
});
如果表中有大量项目,您可能需要实现更有效的搜索算法(例如按ID排序并使用@ Bartek的答案中的二进制搜索)。
答案 1 :(得分:1)