2

左と中央の部分に BorderPane があり、どちらも ScrollPanes です。1 つのスクロールバー (垂直) でそれらをスクロールする方法。または、 ScrollBars の 1 つにアクセスする方法は?

4

2 に答える 2

5

@invariant の答えはうまくいきませんでした。しかし、以下に書かれたコードはうまくいきました。

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

2 つのコンポーネントを相互にバインドすると、それらは一緒に水平方向にスクロールします。縦型のケースでうまくいきます。

于 2016-02-29T10:02:45.663 に答える
3

scrollpane1(sp1) vScrollBar プロパティをバインドし、変更された値を他の scrollpane 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);

        }
    }); 

1 つの scrolll バーを取得して 2 つの Scroll ペインをスクロールするためのヒント: 垂直スクロール バーを定義してから、2 つの Scrollpanes の vscrollbars を非表示にします (opcaity をゼロまたは何かに設定することができます..)。次に、定義されたスクロールバーの変更にバインドし、その変更された値を上記のように両方のスクロールペインとスクロールバーに設定します。

于 2013-02-15T15:51:28.750 に答える