JavaFX ScrollPane - 如何使用一个滚动条滚动2个ScrollPanes?

时间:2013-02-15 13:11:14

标签: javafx scrollpane

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

2 个答案:

答案 0 :(得分:4)

@invariant的回答对我不起作用。但是下面写的代码已经解决了。

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

通过将两个组件相互绑定,它们可以水平滚动。它适用于垂直案例。

答案 1 :(得分:3)

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

示例代码:当Sp1 vScrollbar位置为chnaged时,此代码会自动更改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)。两个Scrollpanes的vscrollbars。然后绑定到已定义的滚动条更改并将这些chnaged值设置为两个scrollpanes vscrollbars,如上所述。