4

我的问题是,如果我的 Scrolled Composite 有

scrolledWrapper.setExpandHorizontal(true);
scrolledWrapper.setExpandVertical(true);

它在整个 ViewPart 上正确展开,但如果我缩小视图,则不会出现滚动条。

如果我没有设置展开,滚动条会出现,但滚动组合内的整个组合不会展开。

    GridLayout gridLayout = new GridLayout(1, true);
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, false, false);

    ScrolledComposite scrolledWrapper = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL);
    scrolledWrapper.setLayout(gridLayout);
            // if set the scrollbars dont appear but the composite expand on the whole view
    scrolledWrapper.setExpandHorizontal(true);
    scrolledWrapper.setExpandVertical(true); 

    scrolledWrapper.setLayoutData(gridData);
    scrolledWrapper.setBackground(Display.getCurrent().getSystemColor(BG_COLOR));

有人知道我如何将 Composite 设置为扩展到我的整个视图,但在视图缩小时还显示滚动条?

4

1 回答 1

4

我找到了一个解决方案:

您需要设置最小尺寸。复合材料需要知道它的尺寸小

scrolledWrapper.setMinSize(wrapper.computeSize(SWT.DEFAULT, SWT.DEFAULT));
于 2013-11-07T09:09:42.533 回答