ScrolledComposite在设置为展开时不显示滚动条

时间:2013-11-07 09:04:09

标签: java layout swt rcp

我的问题是,如果我的滚动合成具有

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

它在整个ViewPart上正确扩展,但是如果我缩小了View,则不会出现滚动条。

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

    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设置为扩展到我的整个视图,还会在视图缩小时显示滚动条吗?

1 个答案:

答案 0 :(得分:3)

我找到了解决方案:

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

scrolledWrapper.setMinSize(wrapper.computeSize(SWT.DEFAULT, SWT.DEFAULT));