我已经将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

09-30 18:12