我已经向ButtonGroup添加了一个JToggleButton。
然后,我不能再通过再次单击来取消选择此ToggleButton。
我非常确定可以通过单击JToggleButton将其取消选中。
有什么简单的方法可以让按钮正常工作吗?
基本ButtonGroup工作正常(单击B并取消选择A)。
但我想要的是当A被选中,并且可以通过再次单击它来取消选中它。
简而言之,我希望两种情况都能行得通。
A选定-->单击B-->A取消选定
A selected-->单击A --> A unselected (正常JToggleButton)

发布于 2012-11-29 04:37:16
简而言之是的..。然而,如果没有ButtonGroup,一切都会按预期运行:
您通常应该初始化一组单选按钮,以便选择其中一个。但是,API并不强制执行此规则-一组单选按钮可以没有初始选择。一旦用户做了选择,从那时起,恰好有一个按钮被选中。
因此,基本上唯一不能选择JToggle按钮的时间是在启动时。选择后一分钟,我们只能更改选定的,不能取消选择所有内容。如果我们从逻辑上考虑它是有意义的,想象我们有两个选择是或不是…此时必须至少选择/强制执行一个选项。或者你必须添加更多的选项,比如是,否,并且仍然在思考(愚蠢的例子,但我不擅长解释)。
但总会有一个变通的办法:
没有支持取消选择所有按钮的API。然而,如果你真的想取消选择所有的按钮(并不推荐这样做),在ButtonGroup上调用setSelected(null, true)应该可以做到这一点。
参考:
发布于 2012-11-29 05:13:10
您可能会在两个按钮的取消选择事件上执行ButtonGroup.clearSelection(),但是,您可以省略ButtonGroup (误用?)和简单的监听选择状态。
https://stackoverflow.com/questions/13613787
复制相似问题