JavaFX-如何在单击按钮时以编程方式滚动ScrollPane?

问题描述 投票:0回答:2

我想知道是否有任何“简便”的方法可以将垂直滚动条设置为在按下按钮时“滚动”特定数量,或者在任何事件下“滚动”特定数量。

例如,我有一个带有侧栏的应用程序,侧栏上的选项之一是“设置”。设置包含子项,我想添加功能以单击子项之一,它将打开“设置”页面并自动向下滚动到该子项所在页面上的特定点。

java javafx scrollpane
2个回答
0
投票

查看this解决方案:

Bounds bounds = pane.getViewportBounds();
pane.setVvalue(box.getChildren().get(x).getLayoutY() * 
                             (1/(box.getHeight()-bounds.getHeight())));

pane是ScrollPane。 box是保存要滚动到的节点的窗格。 x将由子节点滚动到。


0
投票

要以编程方式垂直滚动ScrollPane,只需操纵vvalue属性。这是该属性的文档:

ScrollPane的当前垂直滚动位置。该值可以由应用程序设置为以编程方式滚动视图。每当用户滚动或平移视口时,ScrollPane都会更新此值。此值必须始终在vvaluevmin的范围内。当vmax等于vvalue时,将对包含的节点进行定位,以便其layoutBounds vmin可见。当minY等于vvalue时,将对包含的节点进行定位,以便其layoutBounds vmax可见。当maxYvvaluevmin之间时,包含的节点成比例地位于layoutBounds vmax和layoutBounds minY之间。

© www.soinside.com 2019 - 2024. All rights reserved.