ユーザーがズームインおよびズームアウトできるビューを作成したいので、次を使用してビューを実装することを計画しましたScrolledComposite
。
ScrolledComposite sc = new ScrolledComposite(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
sc.setBounds(0, 0, 200, 200);
setBounds()
問題は、コンテンツのサイズがスクロールされたコンポジットのサイズよりも小さい場合、コントロールまたはスクロールされたコンポジットの方法を試しても、常にスクロールされたコンポジットの左上隅に表示されることsetOrigin()
です。button
以下の例では、 (100, 50)の表示領域コンテンツはsc
(200, 200) のクライアント領域よりも小さく、表示する位置を設定しようとしても、ボタンは常に左上隅に表示されます。スクロールされたコンポジット。
Button button = new Button(sc, SWT.PUSH);
button.setText("Button");
button.setBounds(50, 50, 100, 50);
sc.setContent(button);
sc.setOrigin(30, 30);
私が得る結果は
この問題を解決するにはどうすればよいですか?