0

我一直在使用 JPanel 等来构建我的 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);
                }
            }
       }
  }
}
4

1 回答 1

4

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

于 2013-05-14T17:14:05.677 回答