Java-Swing-单选按钮

1. 定义

在Swing中实现单选按钮非常简单,-为单选按钮构造一个ButtonGroup对象;然后把JRadioButton类型的对象添加到ButtonGroup中。

  • 这里的ButtonGroup按钮组负责按下新按钮时取消前一次按下的操作。
 //定义单选按钮
        ButtonGroup group=new ButtonGroup();
        JRadioButton networkButton=new JRadioButton("网络",true);
        group.add(networkButton);
        JRadioButton blueToothButton=new JRadioButton("蓝牙",false);
        group.add(blueToothButton);
  • 这里的true和false表示初始状态时是否选择,当然,只能有一个true,其余为false。
  • 这里的ButtonGroup按钮组仅仅负责控制按钮的操作行为,如果想把这些按钮组织在一起布局,需要把JRadioButton它们再次添加到容器中,如JPanel。

2. 定义监听器

用户单击一个按钮时产生一个单击事件,需要定义动作监听器来设置具体操作。

ActionListener listener=new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                //动作事件
                }
            }
        };//listener

3. 示例

  • 这里有两个按钮一个lable,每次单击都改变lable上的text。
public static void main(String[] args)  {
         //定义单选按钮
        ButtonGroup group=new ButtonGroup();
        JRadioButton networkButton=new JRadioButton("网络",true);
        group.add(networkButton);
        JRadioButton blueToothButton=new JRadioButton("蓝牙",false);
        group.add(blueToothButton);
        //ButtonGroup放在JPanel中
        JPanel ButtonPanel=new JPanel();
        ButtonPanel.add(networkButton);
        ButtonPanel.add(blueToothButton);
        //Panel放在JFrame中
        JFrame jf=new JFrame("单选按钮");
        jf.add(ButtonPanel,BorderLayout.CENTER);
        //加上一个Jlable,改变单选按钮时,jlable也相应变化
        JLabel label=new JLabel();
        label.setText("默认");
        jf.add(label,BorderLayout.NORTH);
        jf.pack();
        jf.setVisible(true);
        //改变时定义监听器
        ActionListener listener=new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                switch (e.getActionCommand()) {
                case "网络":
                    label.setText("网络");
                    break;
                case "蓝牙":
                    label.setText("蓝牙");
                    break;
                default:
                    break;
                }
            }
        };//listener
        //定义单选按钮监听器
        networkButton.addActionListener(listener);
        blueToothButton.addActionListener(listener);
        }//main

示例图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值