button group

I am using a ButtonGroup, according to java, initially no button is selected in the group. After that i am selecting any one of the button and after that i want to deselect all of the buttons , its somewhat like situation at the start i.e., all buttons unselected in the button group. But i heard that its not possible, does any one know about this?. Don't give the solution of using setSelected method, as this method is only applicable to button, not for ButtonGroup.
ragaAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
Jim CakalicConnect With a Mentor Senior Developer/ArchitectCommented:
The Java Tutorial provides this recommendation that seems to work:
"There's no supported API for unselecting all the buttons. However, if you really want to unselect all the buttons (not that we recommend it), invoking setSelected(null, true) on the ButtonGroup should do the trick."

The javadoc for ButtonGroup also suggests:
"To give the appearance of "none selected", add an invisible radio button to the group and then programmatically select that button to turn off all the displayed radio buttons. For example, a normal button with the label "none" could be wired to select the invisible radio button."

Of the two, the first method seems to be simpler. The only downside I can think of is it may not necessarily be portable or might fail to work in future versions of Swing.

Best regards,
Jim Cakalic
0
 
exorcistCommented:
I think this is true, you cannot deselect all buttons. But maybe it helps to remove all buttons from the ButtonGroup, deselect each of them and then add them to the ButtonGroup (or a new ButtonGroup).

Just a thought.
0
 
ragaAuthor Commented:
I don't want to remove the ButtonGroup, is there any method to do this?
0
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

 
ragaAuthor Commented:
I don't want to remove the ButtonGroup, is there any method to do this?
0
 
NeutronCommented:
You can try to fool buttongroup by adding a dummy button, setting it to selected using buttonGroup.setSelected( dummyButton.getModel(), true ) and then removing it.

I didn't try this (because I didn't need it), so I don't know if it will work, also I don't know when you remove dummy button will button group select something else.

Also, you could have this button all the time in the group, but set it to invisible, and select it programatically when you want to deselect the group.

Greetings,
    Ntr:)
0
 
exorcistCommented:
You don't even need to set it to invisible. Wouldn't it work if you just didn't add it to your Container?
0
 
yongsingCommented:
Jim is right. All you need to do is to create an 'invisible' button and then you add it to your button group. However, you don't add this button to your panel, dialog or frame. This way, it will not appear at all. When you want to unselect all the visible buttons, you just need to select the 'invisible' button.
0
 
ragaAuthor Commented:
Actually, we were using 1st suggestion till now, but after modifying the layout and some gui in which the buttongroup is added, it was giving exception. I tried the second one it is working fine.

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.