我的BorderPane有左侧和中间部分,两者都是ScrollPanes。如何使用一个滚动条(垂直)滚动它们。或者如何访问其中一个ScrollBars?
答案 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,如上所述。