【问题标题】:SWT Splitpane thats scrollableSWT Splitpane 可滚动
【发布时间】:2013-05-14 14:41:24
【问题描述】:

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

【问题讨论】:

    标签: java swt


    【解决方案1】:

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

    【讨论】:

    • 好吧,窗扇是复合材料,根据 API,复合材料是可滚动的。我设法使用 SWT.V_SCROLL 在复合材料上获得滚动条,但它们不会滚动,只显示滚动条。
    • 尝试修改代码以使用 ScrolledComposite 也需要一段时间。如果可能的话,我想避免走那条路。
    • @Jeremy 不管文档怎么说,我从未见过可以滚动的简单Composite。要走的路是按照这个答案的建议使用ScrolledComposite
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-30
    • 1970-01-01
    • 2012-09-03
    • 2020-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多