2013-02-15 78 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()); 

通過將兩個組件彼此綁定,它們水平滾動。它適用於垂直情況。