栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Tableview可见行

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Tableview可见行

尝试在TableView中滚动到所需的行。我已经尝试过使用table.scrollTo(index),但是它无法正确滚动,因为它将所需的行设置为第一个可见行。

我已经在控制器上编写了下一个代码。

在这里,您还可以查看如何获取可见行。

private TableViewSkin<?> tableSkin;private VirtualFlow<?> virtualFlow;@Overridepublic void initialize(URL location, ResourceBundle resources) {    ...    ...    Platform.runLater( ()-> { loadVirtualFlow(); });}private void loadVirtualFlow(){    tableSkin = (TableViewSkin<?>) tableContent.getSkin();    virtualFlow = (VirtualFlow<?>) tableSkin.getChildren().get(1);}private void scrollTo(int index){    int first = virtualFlow.getFirstVisibleCell().getIndex();    int last = virtualFlow.getLastVisibleCell().getIndex();    if (index <= first){        while (index <= first && virtualFlow.adjustPixels(-1) < 0){ first = virtualFlow.getFirstVisibleCell().getIndex();        }    } else {        while (index >= last && virtualFlow.adjustPixels(1) > 0){ last = virtualFlow.getLastVisibleCell().getIndex();        }    }}

使用此代码,您可以轻松滚动到所需的索引:

scrollTo(index);

将元素添加到列表中之后,请记住在调用scrollTo之前先调用loadVirtualFlow,这样VirtualFlow会得到更新,并且不会引发异常。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/515486.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号