2

我创建了一个确定按钮(按钮)。

根据用户输入,我想动态创建 1 到 10 个 SWT 按钮(复选框)。

如何创建它?

如果单击确定按钮,如何显示已选中的所有复选框按钮?

请在下面找到我正在尝试的片段:

Set<String> Groups = getData(Contents);
for(String group : contentGroups) {

contentButton = new Button(fComposite, SWT.CHECK);  

    // is this right way to create dynamic buttons?

    contentButton.setText(group);

}

okButton = new Button(lowComposite, SWT.PUSH);

okButton.addSelectionListener(new SelectionListener(){

    @Override
    public void widgetSelected(SelectionEvent e){

        //Here how to get the selection status of contentButtons?       
    }
}
4

1 回答 1

4

这将打印出按钮的选择状态:

Set<String> Groups = getData(Contents);

final List<Button> buttons = new ArrayList<Button>();

for(String group : contentGroups)
{
    Button newButton = new Button(fComposite, SWT.CHECK);  
    newButton.setText(group);

    // save the button
    buttons.add(newButton);
}

Button okButton = new Button(lowComposite, SWT.PUSH);

okButton.addListener(SWT.Selection, new Listener()
{
    @Override
    public void handleEvent(Event e)
    {
        // iterate over saved buttons
        for(Button button : buttons)
        {
            System.out.println(button.getText() + ": " + button.getSelection());
        }       
    }
}
于 2013-03-06T11:09:07.010 回答