我已经将JToggleButton添加到ButtonGroup。
然后,我无法通过再次单击来取消选择此ToggleButton。
我很确定可以通过单击JToggleButton取消选择它。
有什么简单的方法可以让Button正常工作?
基本按钮组工作正常(单击B并取消选择A)。
但是我想要的是选择A时可以通过再次单击将其取消选择。
简而言之,我希望两种情况都能奏效。
A选定->单击B-> A未选定
选中->单击A->取消选中(Normal JToggleButton)
最佳答案
简而言之,是...没有ButtonGroup
,一切正常,但是:
通常,您应该初始化一组单选按钮,以便
被选中。但是,API不执行此规则-一组
单选按钮不能具有初始选择。一旦用户做出了
选择,然后选择一个按钮。
因此,基本上唯一无法选择JToggle
按钮的时间是在启动时。一分钟被选中,我们只能更改所选内容,不能取消选择所有内容。
如果我们从逻辑上考虑这是有道理的,请想象我们有2个选项“是”或“否” ...当时必须至少选择/强制执行一个选项。或者,您必须添加更多选择,例如“是”,“否”并且仍在思考(愚蠢的示例,但我不擅长解释)。
但是总有解决方法:
没有用于取消选择所有按钮的受支持的API。但是,如果您确实要取消选择所有按钮(不建议这样做),则在setSelected(null, true)
上调用ButtonGroup
应该可以解决问题。
参考:
http://docs.oracle.com/javase/tutorial/uiswing/components/button.html
http://www.tek-tips.com/viewthread.cfm?qid=1154515