首页 > 编程笔记 > Java笔记 阅读:24

Java Swing JRadioButton单选按钮的用法(附带实例)

Swing 单选按钮由 JRadioButton 对象表示。在 Swing 程序设计中,需要把多个单选按钮添加到按钮组中,当用户选中某个单选按钮时,按钮组中的其他单选按钮将不能被同时选中。

Swing单选按钮

创建 JRadioButton 对象需要使用 JRadioButton 类的构造方法。

JRadioButton 类常用的构造方法如下:
根据上述构造方法的相关介绍,不难发现,单选按钮的图标、文本和选择状态等属性能够被同时设定。

例如,使用 JRadioButton 类的构造方法创建一个文本为“选项A”的单选按钮,关键代码如下:
JRadioButton rbtn = new JRadioButton("选项 A");

Swing按钮组

Swing 按钮组由 ButtonGroup 对象表示,多个单选按钮被添加到按钮组中后,能够实现“选项有多个,但只能选中一个”的效果。ButtonGroup 对象被创建后,可以使用 add() 方法把多个单选按钮添加到 ButtonGroup 对象中。

例如,在应用程序窗体中定义一个单选按钮组,代码如下:
JRadioButton jr1 = new JRadioButton();
JRadioButton jr2 = new JRadioButton();
JRadioButton jr3 = new JRadioButton();
ButtonGroup group = new ButtonGroup(); //按钮组
group.add(jr1);
group.add(jr2);
group.add(jr3);

【实例】性别选择。创建 RadioButtonTest 类,并继承 JFrame 类,窗体中有男女两种性别可以供用户选择,但只能选择其中一种性别。
import javax.swing.*;

public class RadioButtonTest extends JFrame {
    public RadioButtonTest() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置关闭操作
        setTitle("单选按钮的使用"); //设置窗体标题
        setBounds(100, 100, 240, 120); //设置窗体大小和位置
        getContentPane().setLayout(null); //设置绝对布局
        JLabel lblNewLabel = new JLabel("请选择性别:");
        lblNewLabel.setBounds(5, 5, 120, 15);
        getContentPane().add(lblNewLabel);
        JRadioButton rbtnNormal = new JRadioButton("男");
        rbtnNormal.setSelected(true); //设置默认选中
        rbtnNormal.setBounds(40, 30, 75, 22);
        getContentPane().add(rbtnNormal);
        JRadioButton rbtnPwd = new JRadioButton("女");
        rbtnPwd.setBounds(120, 30, 75, 22);
        getContentPane().add(rbtnPwd);
        ButtonGroup group = new ButtonGroup(); //创建按钮组,把交互面板中的单选按钮添加到按钮组中
        group.add(rbtnNormal);
        group.add(rbtnPwd);
    }

    public static void main(String[] args) {
        RadioButtonTest frame = new RadioButtonTest(); //创建窗体对象
        frame.setVisible(true); //使窗体可见
    }
}
运行结果如下图所示:


图 1 单选按钮组件的使用

当选中某一个单选按钮时,另一个单选按钮会被取消选中状态。

相关文章