尽管可以将每个AbstractButton添加到ButtonGroup中(根据Java API),但是我想问一下,添加哪些元素确实有意义。

以下两个绝对可以:

  • JRadioButton
  • JRadioButtonMenuItem

  • 我想知道:
  • JCheckBox JRadioButton一样,继承自JToggleButton
  • 其他任何AbstractButton
  • 最佳答案

    ButtonGroup用于为一组按钮创建一个多重排除范围。使用相同的ButtonGroup对象创建一组按钮意味着将这些按钮之一“打开”会关闭组中的所有其他按钮。
    ButtonGroup可以与从AbstractButton继承的任何对象集一起使用。通常,ButtonGroup包含JRadioButton,JRadioButtonMenuItem或JToggleButton的实例。将JButtonJMenuItem的实例放在ButtonGroup中是没有意义的,因为JButtonJMenuItem没有实现所选状态。

    最初,该组中的所有按钮均未选中。选择任何按钮后,组中始终会选择一个按钮。无法以编程方式将按钮“关闭”,以清除按钮组。要使外观为“未选中”,请在该组中添加一个不可见的JRadioButton,然后以编程方式选择该按钮以关闭所有显示的JRadioButtons。例如,可以将标签为“none”的普通按钮连接起来以选择不可见的JRadioButton

    有关使用ButtonGroups see How to Use JRadioButtons 的示例和更多信息,请参见The Java Tutorial中的一节。

    09-25 20:24