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