SWT Splitpane可滚动

时间:2013-05-14 14:41:25

标签: java swt

我一直在使用JPanels来构建我的GUI。我现在在哪里工作,他们使用SWT来构建他们的GUI。我有一个复合材料,我已经添加了一个窗框,根据我的模板的某些属性,窗框垂直或水平地分割窗扇。我的问题是如何在SWT中拆分sashForm并使其在拆分的任何一侧可滚动。因此,如果我垂直分割sashForm,我希望能够单独滚动分割的任一侧。这在SWT中是否可行?如果这是一个如何这样做的例子将不胜感激。以下是我正在使用的代码的一般概念。因为它与工作有关,所以我无法提供所有要审核的代码。此方法所使用的类扩展为Composite。

private void createContent() {
    this.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    this.setLayout(stackLayout);
    for (DVTemplate dvTemplate : loadableTemplates) {
        for (CompositeTemplate template : dvTemplate.templateList) {
            Composite templateComposite;
            Composite parentComposite = this;
            if (!isEmpty(template.parentComposite)) {
                parentComposite = compositeMap
                        .get(template.parentComposite);
            }
            if (isEmpty(template.sashStyle)) {
                templateComposite = new DataVisualizationComposite(
                        parentComposite, template.style, template.name,
                        DataVisualizationComposite.DataVisualization.EMPTY,
                        template.parentTemplate, true, false);
            } else {
                if ("HORIZONTAL".equals(template.sashStyle)) {
                    templateComposite = new SashForm(parentComposite,
                            SWT.HORIZONTAL);
                } else {
                    templateComposite = new SashForm(parentComposite,
                            SWT.VERTICAL);
                }
            }
       }
  }
}

1 个答案:

答案 0 :(得分:3)

添加ScrolledComposite(或本身支持滚动的一些小部件 - 例如桌子或树)作为窗扇子。