尽管可以将每个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
的示例和更多信息,请参见The Java Tutorial中的一节。