当前位置: 首页 > 知识库问答 >
问题:

如何在JavaFX中禁用ScrollPane中的向下滚动?

束建章
2023-03-14

如何在scrollpane到达特定的vvalue时仅禁用向下滚动?

共有1个答案

蒯华彩
2023-03-14

您可以设置ScrollPane的vmaxProperty。

此滚动窗格允许的最大vvalue。默认值为1。

通过设置此属性,ScrollPane的滚动条将被重新标度,因此滚动条的最底部位置实际上是指定的值。

scrollPane.setVmax(0.4);
final double maxDownScroll = 0.4;
scrollPane.vvalueProperty().addListener((obs, oldVal, newVal) -> {
    if ((double) newVal > maxDownScroll)
        scrollPane.setVvalue(maxDownScroll);
});

注意:这两种方法都比在ScrollPaneScrollevent中添加筛选器更通用,因为它们适用于移动滚动条和使用鼠标滚动(Scrollevent仅在使用鼠标滚轮、钉板或类似设备时才触发)。

 类似资料:
  • 当ScrollPane控件的内容高度增加时,是否有任何方法可以自动向下滚动?例如,我在屏幕底部有一个TitledPane(在ScrollPane内部),当我展开它时,我希望ScrollPane向下滚动,这样我就可以看到TitledPane的全部内容。

  • 我在JavaFX应用程序上使用ScrollPane。Scrollpane以TilePane作为其内容,显示了数千个瓷砖。敲击太慢了。如何增加滚动窗格的滚动?谢了。

  • 我在java项目的JFXPanel中有一个JavaFX ScrollPane。这个项目将在触摸显示器没有键盘,所以我需要模拟一个触摸屏滚动。 问题是;如果我在ScrollPane中拖动鼠标,它工作得很好,但如果我在有按钮的地方拖动鼠标,它就不能滚动(想法是ScrollPane将充满按钮,它们之间没有空格)。

  • 我使用ScrollPane,因为它内置了输入和抛出处理。我有一个滚动轮的图像,分为14个部分,滚动窗格本身是两个部分较短,以便将有一个部分在右侧和左侧,它可以滚动到任何一个方向。一旦滚动位置到达任何一个方向的末端,我想将滚动位置重置回中心。一遍又一遍地这样做应该会产生一个无限滚动轮的幻觉(希望如此)。 我遇到的问题是如何在代码中定位滚动窗格以重置图像,一旦它到达任何一端。到目前为止,我没有尝试设置

  • 嗨,有没有什么方法可以提高滚动速度。我找到了一些解决方案,但都不适合我。这就是我尝试的: 或者使用css: 还有别的办法吗?编辑:上面的解决方案都不起作用,我试图使用大得离谱的数字,但滚动速度还是一样

  • 我一直在为我和一些朋友开发一个小型聊天客户端,同时自学Java和JFX8。不幸的是,由于某些原因,我无法以编程方式滚动到滚动窗格的底部,那里有聊天消息。 我有一个简单地称为scrollToBottom()的方法,它执行以下代码: 下面是应用程序中唯一真正相关的类--ChatBox类型只是VBox的扩展,它只使用扩展类型的文本。 如果您有任何其他一般性建议(我现在正在学习Java),欢迎所有提示。: