2

我有左边和中间部分的 BorderPane,两者都是 ScrollPanes。如何使用一个滚动条(垂直)滚动它们。或者如何访问其中一个 ScrollBars ?

4

2 回答 2

5

@invariant 的答案对我不起作用。但是下面写的代码成功了。

ScrollPane sp1 = new ScrollPane();
ScrollPane sp2 = new ScrollPane();
sp1.hvalueProperty().bindBidirectional(sp2.hvalueProperty());

将两个组件相互绑定后,它们会一起水平滚动。它适用于垂直案例。

于 2016-02-29T10:02:45.663 回答
3

您可以绑定 scrollpane1(sp1) vScrollBar 属性并将更改的值设置为其他滚动窗格 vScrollbar 属性。

示例代码:此代码在 Sp1 vScrollbar 位置更改时自动更改 SP2 vScrollbar 位置。

DoubleProperty vPosition = new SimpleDoubleProperty();
    vPosition.bind(sp1.vvalueProperty());
    vPosition.addListener(new ChangeListener() {
        @Override
        public void changed(ObservableValue arg0, Object arg1, Object arg2) {
             sp2.setVvalue((double) arg2);

        }
    }); 

提示让一个滚动条滚动两个滚动窗格:定义一个垂直滚动条,然后隐藏(可能将 opcaity 设置为零或其他什么..)两个滚动窗格的 vscrollbars。然后绑定到定义的滚动条更改,并将更改后的值设置为两个滚动窗格 vscrollbars,就像上面一样。

于 2013-02-15T15:51:28.750 回答