我一直在使用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);
}
}
}
}
}