0

タブウィンドウを使用してシェルに固定サイズを指定します。十分なスペースがない場合、コンテンツ(つまり、シェル全体)をスクロール可能にするにはどうすればよいですか?これはシェル、タブホスト、または個々のタブの設定ですか?

4

1 に答える 1

2

ScrolledCompositeコンテンツ全体を含むa を使用します。このようにして、表示する十分なスペースがない場合にスクロールします。

次のコードは、それがどのように機能するかについてのアイデアを与えるはずです:

public static void main(String[] args) {
    final Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setLayout(new FillLayout());

    // Create the ScrolledComposite to scroll horizontally and vertically
    ScrolledComposite scrolledComp = new ScrolledComposite(shell, SWT.H_SCROLL | SWT.V_SCROLL);

    // Create a child composite for your content
    Composite content = new Composite(scrolledComp, SWT.NONE);
    content.setLayout(new FillLayout());

    // Create some content
    new Button(content, SWT.PUSH).setText("Button1");
    new Button(content, SWT.PUSH).setText("Button2");

    // add content to scrolled composite
    scrolledComp.setContent(content);

    // Set the minimum size (in this case way too large)
    scrolledComp.setMinSize(400, 400);

    // Expand both horizontally and vertically
    scrolledComp.setExpandHorizontal(true);
    scrolledComp.setExpandVertical(true);

    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) {
            display.sleep();
        }
    }
    display.dispose();
}

実行してウィンドウ サイズを小さくすると、スクロール バーが表示されます。

于 2012-09-10T10:16:03.710 に答える