尽管每个 AbstractButton
都可以添加到 ButtonGroup
(根据 Java API ),但我想问一下,添加哪些元素真正有意义。
下面两个绝对可以:
JRadioButton
JRadioButtonMenuItem
我想知道:
JCheckBox
<- 与JRadioButton
一样,继承自JToggleButton
- 任何其他
AbstractButton
最佳答案
ButtonGroup
用于为一组按钮创建多重排除范围。使用相同的 ButtonGroup
对象创建一组按钮意味着打开其中一个按钮会关闭该组中的所有其他按钮。
ButtonGroup
可以与继承自 AbstractButton
的任何对象集一起使用。通常 ButtonGroup
包含 JRadioButton
、JRadioButtonMenuItem 或 JToggleButton
的实例。将 JButton
或 JMenuItem
的实例放在 ButtonGroup
中是没有意义的,因为 JButton
和 JMenuItem
不实现选定状态。
最初,组中的所有按钮都未被选中。选择任何一个按钮后,该组中始终会选择一个按钮。无法以编程方式将按钮设置为“关闭”,以清除按钮组。要给出“未选择”的外观,请将一个不可见的 JRadioButton
添加到组中,然后以编程方式选择该按钮以关闭所有显示的 JRadioButtons
。例如,可以连接带有标签“none”的普通按钮以选择不可见的 JRadioButton
。
有关使用 ButtonGroups
的示例和更多信息 see How to Use JRadioButtons
,Java 教程中的一个部分。
关于java - 哪些 SWING 元素可以添加到 ButtonGroup 中才有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10749818/