0

我遇到了 JFXSlider 和 ScrollPane 的问题。由于我不喜欢滚动条的默认样式,因此我使用 JFXSlider 上下移动 ScrollPane。

slider.valueProperty().addListener((ChangeListener) ->
        scrollPane.setVvalue(Math.abs(slider.getValue() - 100) / 100));

这段代码工作得很好,但是当我向 ScrollPane 添加内容时,它会留在原处。我想把它移到底部。我尝试在插入内容后更改 ScrollPane 的位置,但它什么也没做。

anchorPane.localToScene();
scrollPane.setVvalue();

我还尝试将 ScrollPane vValue 绑定到它内部的 vBox 的高度并且它可以工作,但是 JFXSlider 停止工作

scrollPane.vvalueProperty().bind(vBox.heightProperty());

我想同时工作,但我不知道这是否可能。我听说过 bindBidirectional,但我不知道在这种情况下如何使用它。

提前致谢。

4

1 回答 1

0

如果您确保滑块的范围与滚动窗格的垂直范围相同,您可以使用

slider.minProperty().bind(scrollPane.vminProperty());
slider.maxProperty().bind(scrollPane.vmaxProperty());

那么您可以将滑块的值双向绑定到滚动窗格的垂直值:

slider.valueProperty().bindBidirectional(scrollPane.vvalueProperty());

(我不使用 JFoenix,也找不到任何有意义的文档,所以我在这里假设 aJFXSlider具有与 standard 相同的属性Slider。)

于 2018-02-09T17:44:06.607 回答