java - 如何更改 ScrollPane 滚动的量?

标签 java scroll javafx

我需要知道如何更改 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/

相关文章:

javascript - 窗口滚动后淡入和淡出多次发生

javascript - 如何用javascript和css制作切换和滚动效果?

java - 如何在 JavaFX 中的(页面、场景)之间导航

java - Hadoop 给出 AccessControlException

java.lang.IllegalStateException : This consumer has already been closed

java - Spring WebSockets @SendTo 映射中的路径变量

Javafx Treeview 项目操作事件

java - 在 WinAPI 调用漂亮的 char* 之后获取 GetLastError() 结果的最佳方法是什么?

scroll - 如何删除 Chrome 添加到使用溢出滚动的元素的投影?

JavaFX - 访问 fx :id from nested FXML