JavaFX |如何从 ScrollPane 获取 "getVisibleAmount()" 值
JavaFX | how to get "getVisibleAmount()" value from ScrollPane
我一直在尝试从 ScrollPane 中获取值 getVisibleAmount(),ScrollPane 有一个子 AnchorPane 和 ScrollBar。在这种情况下,我想从 ScrollPane 获取 ScrollBar 子项到 getVisibleAmount() 函数。其中此功能仅在 ScrollBar 组件上。
我想将 ScrollPane child(ScrollBar) 的 getVisibleAmount() 分别应用到不同的 ScrollBar。
抱歉我的英语不是很好,也许这张图片可以帮助我实现目标。
任何解决方案将不胜感激。谢谢。
这是从 ScrollPane
的 ScrollBar
中获取可见数量的方法:
static double getScrollBarVisibleAmount(ScrollPane scrollPane, Orientation orientation) {
for (Node node : scrollPane.lookupAll(".scroll-bar")) {
if (node instanceof ScrollBar) {
ScrollBar scrollBar = (ScrollBar) node;
if (scrollBar.getOrientation() == orientation) {
return scrollBar.getVisibleAmount();
}
}
}
return -1.0;
}
你可以这样使用它:
double amount = getScrollBarVisibleAmount(myScrollPane, Orientation.VERTICAL);
您需要确切知道何时调用此方法,因为 ScrollPane
在调用时可能未显示。如果您分配 ChangeListener<Number>
:
,跟踪更改也会更容易
scrollBar.visibleAmountProperty().addListener((observable, oldValue, newValue) -> System.out.println("New visible amount: " + newValue));
我一直在尝试从 ScrollPane 中获取值 getVisibleAmount(),ScrollPane 有一个子 AnchorPane 和 ScrollBar。在这种情况下,我想从 ScrollPane 获取 ScrollBar 子项到 getVisibleAmount() 函数。其中此功能仅在 ScrollBar 组件上。
我想将 ScrollPane child(ScrollBar) 的 getVisibleAmount() 分别应用到不同的 ScrollBar。
抱歉我的英语不是很好,也许这张图片可以帮助我实现目标。
任何解决方案将不胜感激。谢谢。
这是从 ScrollPane
的 ScrollBar
中获取可见数量的方法:
static double getScrollBarVisibleAmount(ScrollPane scrollPane, Orientation orientation) {
for (Node node : scrollPane.lookupAll(".scroll-bar")) {
if (node instanceof ScrollBar) {
ScrollBar scrollBar = (ScrollBar) node;
if (scrollBar.getOrientation() == orientation) {
return scrollBar.getVisibleAmount();
}
}
}
return -1.0;
}
你可以这样使用它:
double amount = getScrollBarVisibleAmount(myScrollPane, Orientation.VERTICAL);
您需要确切知道何时调用此方法,因为 ScrollPane
在调用时可能未显示。如果您分配 ChangeListener<Number>
:
scrollBar.visibleAmountProperty().addListener((observable, oldValue, newValue) -> System.out.println("New visible amount: " + newValue));