我需要知道如何更改 ScrollPane
的金额object 用于上下移动内容。例如,ScrollBar
有这两种方法:
scrollBar.setUnitIncrement(10);
scrollBar.setBlockIncrement(50);
我如何用
ScrollPane
做同样的事情而不是 ScrollBar
?
最佳答案
有同样的问题,无法找到答案。终于从link得到了正确的方法由 Erik 提供并根据我的需要进行了调整。
由于 scrollPane 本身没有触发“setOnScroll”-Event(可能是因为它在这样做之前被消耗了),我不得不在 上设置 EventHandler内容 滚动 Pane 的:
scrollPane_Content.setContent(vBox_Content);
vBox_Content.setOnScroll(new EventHandler<ScrollEvent>() {
@Override
public void handle(ScrollEvent event) {
double deltaY = event.getDeltaY()*6; // *6 to make the scrolling a bit faster
double width = scrollPane_Content.getContent().getBoundsInLocal().getWidth();
double vvalue = scrollPane_Content.getVvalue();
scrollPane_Content.setVvalue(vvalue + -deltaY/width); // deltaY/width to make the scrolling equally fast regardless of the actual width of the component
}
});
这样做可以直接使用滚动条,也可以使用鼠标滚轮上下滚动。
希望这可以帮助其他正在寻找在 scrollPane 上加快滚动速度的人。
关于java - 如何更改 ScrollPane 滚动的量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32739269/