【问题标题】:How to enable scroll when CheckboxTableViewer inside a ScrolledComposite is disabled?禁用 ScrolledComposite 中的 CheckboxTableViewer 时如何启用滚动?
【发布时间】:2018-10-12 08:23:15
【问题描述】:

我在 ScrolledComposite 中有一个 CheckboxTableViewer。我必须根据另一个复选框按钮启用或禁用所有 tableItems。为此,我正在使用

CheckboxTableViewer.getTable().setEnabled(false). 

在上述情况下,ScrolledComposite 也会与表格一起禁用。但我希望滚动行为能够照常工作,即使 CheckboxTableViewer 被禁用(所有项目都被禁用)。

【问题讨论】:

    标签: java swt jface rcp


    【解决方案1】:

    无法让表格控件在禁用时显示滚动条。这只是本机控件的工作方式,即操作系统呈现控件的方式。

    但是,您可以将 Table 控件包装在 ScrolledComposite 中。这样,ScrolledComposite 将滚动而不是 Table。

    这是我所做的代码:

    table.setEnabled(false); 
    Composite composite = table.getParent(); 
    if ((null != composite) && (composite instanceof ScrolledComposite)) {
          ScrolledComposite scrolledComposite = (ScrolledComposite)composite;
          scrolledComposite.setMinSize(table.computeSize(SWT.DEFAULT, SWT.DEFAULT));  
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-07
      • 1970-01-01
      • 1970-01-01
      • 2014-12-20
      • 2012-04-23
      • 1970-01-01
      相关资源
      最近更新 更多