私は2つScrolledComposite
の を持っており、次のように垂直スクロール位置を同期しています:
final ScrollBar vScroll1 = canvasScroll.getVerticalBar();
final ScrollBar vScroll2 = titleScroll.getVerticalBar();
vScroll1.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
titleScroll.setOrigin(titleScroll.getOrigin().x, canvasScroll.getOrigin().y);
}
});
vScroll2.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
canvasScroll.setOrigin(canvasScroll.getOrigin().x, titleScroll.getOrigin().y);
}
});
両方のスクロールバーが表示されることを除いて、これは正常に機能しますScrolledComposites
。1 つのスクロールバーのみを表示したいScrolledComposite
ので、それらの可視性の 1 つを false に設定します。
vScroll2.setVisible(false);
これは効果がありません。ScrolledComposite
また、フラグなしでインスタンス化しようとしましSWT.V_SCROLL
たが、上記のコードを実行すると null ポインター例外が発生します。スクロールバーはそこにある必要があります。非表示にしたいだけです。それは可能ですか?