【问题标题】:How to disable horizontal scrolling in ScrollBar (JavaFX)?如何在 ScrollBar (JavaFX) 中禁用水平滚动?
【发布时间】:2015-08-04 03:20:36
【问题描述】:

我使用以下代码禁用了显示水平滚动条:

scrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);

它不再可见,但可以通过鼠标滚轮使用。我怎样才能防止这种情况发生?

有一个带有垂直 ScrollBar 的 ScrollPane。但是我可以向右点击鼠标滚轮,内容是水平滚动的。

谢谢。

【问题讨论】:

  • 你能发一个MCVE吗?
  • 您希望滚动窗格的高度适合其内容高度吗?

标签: javafx horizontal-scrolling mousewheel


【解决方案1】:

scrollPane.setFitToWidth(true);

【讨论】:

  • 如何将此方法应用于 listviwe 或 jfxlistviwe?
【解决方案2】:

我相信这是正确的方法:

sp.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);

【讨论】:

    【解决方案3】:

    编辑:使用 this answer 而不是这个 hacky 的


    您可以在event filter 中使用水平ScrollEvent

        scrollPane.addEventFilter(ScrollEvent.SCROLL,new EventHandler<ScrollEvent>() {
            @Override
            public void handle(ScrollEvent event) {
                if (event.getDeltaX() != 0) {
                    event.consume();
                }
            }
        });
    

    【讨论】:

    • 这是一个丑陋的黑客,我什至不能!它有很多不需要的副作用。请使用下面的解决方案,使用 setFitToWidth(true)!
    猜你喜欢
    • 2014-12-30
    • 2019-10-04
    • 1970-01-01
    • 2013-01-31
    • 1970-01-01
    • 1970-01-01
    • 2011-01-24
    • 1970-01-01
    • 2010-09-27
    相关资源
    最近更新 更多