2013-02-15 173 views

回答

3

您可以绑定scrollpane1(sp1)vScrollBar属性并将更改的值设置为其他滚动窗格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); 

     } 
    }); 

提示得到一个scrolll条滚动两个涡旋窗格:定义一个垂直滚动条,然后隐藏(可opcaity设置为零或东西..)vscrollbars两个Scrollpanes。然后绑定到已定义的滚动条更改并将该chnaged值设置为上面的两个滚动条vscrollbars。

+0

听起来像一个好主意,但由于某种原因,它不适合我。我所做的一切都是将变量名称更改为与我的程序一起使用,除此之外,我将代码复制粘贴到initalize方法中。 “改变”方法显然从未被调用过。任何想法,为什么这可能是? – Maverick283 2014-09-25 12:50:13

3

@invariant的答案不适合我。但是下面编写的代码已经解决了。

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

通过将两个组件彼此绑定,它们水平滚动。它适用于垂直情况。