在 SWT 中获取组组合内的所有复选框

Get all checkboxes inside a Group composite in SWT

我在一个组组合中动态添加了多个复选框。现在,我想获取组组合内所有复选框的状态 (checked/unchecked)。我怎么做?

我使用下面的代码来处理所有的东西。但是为了获得状态,我需要 getSelection() 方法,该方法不适用于 Control 对象。

for (Control control : grpTables.getChildren()) {
    control.dispose();
}

你可以

迭代子项,测试控件是否是具有样式 SWT.CHECKButton 的实例,然后在转换控件

上调用 getSelection()

例如

if( control instanceof Button && ( control.getStyle() & SWT.CHECK ) != 0 ) {
  Button checkbox = ( Button )control;
  boolean selected = checkbox.getSelection();
  ...
}

或(首选)

创建所有复选框时将其放入一个集合中,并在必要时遍历此列表