打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Java学习——65.JRadioButton

Swing中的按钮组件包括JButtonJRadioButtonJCheckbox,它们都是抽象按钮类AbstractButton类的子类。

今天介绍单选按钮JRadioButton

1、单选按钮类声明

单选按钮实现单项选择,即一组单选按钮是互斥的,一次只能选择一个。其类声明如下:

public class JRadioButton extends JToggleButton implements Accessible

{

   public JRadioButton (String text)

   public JRadioButton (String text, boolean selected)

   public JRadioButton (String text, Icon icon,

                boolean selected)  //icon指定图标

}

2、按钮组ButtonGroup

多个单选按钮放在同一组中,才会互斥。按钮组ButtonGroup类声明如下:

public class ButtonGroup implements Serializable //按钮组类

{

   public ButtonGroup()

   public void add(AbstractButton button)      //添加按钮

   public void remove(AbstractButton button)

}

3AbstractButton抽象按钮类

此类定义按钮和菜单项的一般行为,单选按钮JRadioButton也继承自该类,声明如下:

public abstract class AbstractButton extends JComponent implements ItemSelectable, SwingConstants

{

   public String getText()//获得按钮标题

   public void setText(String text) //设置按钮标题

   public boolean isSelected()//返回是否选中

   public void setSelected(boolean selected)//设置选中状态

   public void addActionListener(ActionListener listener) //注册动作事件监听器

   public void removeActionListener(ActionListener listern)// 取消动作事件监听器

}

4、简单例题

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import javax.swing.event.*;

public class JRadioButtonlearn extends JFrame implements ActionListener{

    private JRadioButton xb[];

    private JRadioButton sf[];

    private JTextField text1,text2;

    public JRadioButtonlearn(){

        super("单选按钮");

        this.setBounds(200,200,300,150);

        this.setVisible(true);

        JPanel panel=new JPanel();

        panel.add(new JLabel("性别:"));

        ButtonGroup b1=new ButtonGroup();

        Strings1[]={"",""};

        xb=new JRadioButton[s1.length];

        for(int i=0;i<s1.length;i++){

            xb[i]=new JRadioButton(s1[i]);

            panel.add(xb[i]);

            xb[i].addActionListener(this);

            b1.add(xb[i]);

        }

        this.getContentPane().add(panel,"North");       

        JPanel panel2=new JPanel();

        panel2.add(new JLabel("身份:"));

        ButtonGroup b2=new ButtonGroup();

        Strings2[]={"学生","教师","公务员","工人"};

        sf=new JRadioButton[s2.length];

        for(int i=0;i<s2.length;i++){

            sf[i]=new JRadioButton(s2[i]);

            panel2.add(sf[i]);

            sf[i].addActionListener(this);

            b2.add(sf[i]);

        }

        this.getContentPane().add(panel2);

        JPanel panel3=new JPanel();

        panel3.setLayout(new GridLayout(2,1));

        text1=new JTextField(30);

        text1.setEditable(false);

        text2=new JTextField(30);

        text2.setEditable(false);

        panel3.add(text1);

        panel3.add(text2);

        this.getContentPane().add(panel3,"South");

    }

    public void actionPerformed(ActionEvent e){

        if(xb[0].isSelected())

            text1.setText("您的性别为:男");

        if(xb[1].isSelected())

            text1.setText("您的性别为:女");

        for(int i=0;i<sf.length;i++){

            if(sf[i].isSelected())

                text2.setText("您的身份为:"+sf[i].getText());

        }

    }

    public static void main(String args[]){

        new JRadioButtonlearn();

    }

}

其运行结果如下:

选择性别组,在文本行输出性别;选择身份,在文本行输出身份。

但是性别中:男和女只能选择一个,身份中也只能选择一个。

不管选中哪一个单选按钮,都会触发事件,在相应的文本行中输出。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Java选择框和单选按钮
java教程:JRadioButton(单选按钮)组件使用实例
TableCellRenderer和TableCellEditor
Swing 测试 组件 actionlistener
Java图形用户界面设计
android 显示单选列表对话框 builder.setSingleChoiceItems
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服