Question:
I am trying to put all the checkboxes in a CheckboxGroup into anunselected state, but Checkbox.setState(false) does notautomatically unselect the checkbox once a checkbox has been selectedwithin a CheckboxGroup. How can this be done?
Answer:
At least one Checkbox in a CheckboxGroup must be selected at alltimes. A CheckboxGroup mimics a set of radio buttons, where thepressing of a button results in the ejection of all of other buttons.In general, if you require all of your checkboxes to be unselected, itis possible that they really should not be in a CheckboxGroup.
However, if the options represented by the checkboxes are indeedmutually exclusive, and you really would like to be able to deselectall of them, you can use the following trick:
Add an extra Checkboxto the CheckboxGroup, but don’t add it to a container component and donot display it. When you want to deselect all the visible checkboxes,just set the invisible Checkbox’s state to true. From a userinterface standpoint, it may be better to make this extra buttonvisible and give it a label like “None” so that it is clear to theuser that it is possible not to choose any of the other options.