TreeViewer
JFace で2 つの を同期させようとしています。
最初のステップは、そもそもスクロール バーが表示される原因を正確に理解することだと思います。TreeViewer APIを見ると、ScrollBar や、それをサブクラス化または実装するものについて言及されていません。
それらを定義し、TreeViewer に表示するのは何ですか (ウィンドウのサイズを縮小したとき)?
次に、2 つのツリー間でスクロールを同期するにはどうすればよいでしょうか。
TreeViewer
JFace で2 つの を同期させようとしています。
最初のステップは、そもそもスクロール バーが表示される原因を正確に理解することだと思います。TreeViewer APIを見ると、ScrollBar や、それをサブクラス化または実装するものについて言及されていません。
それらを定義し、TreeViewer に表示するのは何ですか (ウィンドウのサイズを縮小したとき)?
次に、2 つのツリー間でスクロールを同期するにはどうすればよいでしょうか。
これを試してみましたか:
((Tree) yourTreeView.getControl()).getHorizontalBar().setValue(...);
SWT の「凍結された列」スニペットを見てください。明らかに、これは、すべてのプラットフォームで動作する SWT とのスクロール位置の同期に最も近いものです。
SWT はプログラムによってのみテーブル項目にスクロールできるため、スムーズなスクロール同期を実装できない場合があることに注意してください。
スクロールバーは、基礎となるネイティブ ツリー ウィジェットによって管理されます。ウィジェット コンストラクターにスタイル ビットを渡すことで、スクロールバーを強制または無効にすることができます。これらのフラグは単なるヒントであることに注意してください。ネイティブ実装では無視される場合があります。