在上篇文章中,3个单选按钮同时都可以被选中,这个就不符合实际开发中所用到的单选按钮的要求。在实际开发中,需要的单选按钮被选中,其他的单选按钮自动被置为未选中状态,要产生这种效果,就要使用到按钮组。下面将通过实例来说明如何将几个单选按钮划分到按钮组中。其代码如下所示:
/**
* 这段代码主要是展示如何创建单选按钮组件,并且将这些单选按妞组件添加到一个按钮组中
*/
public class BWF {
public static int width=300;
public static int height=200;
public static void main(String args[]){
JFrame jf=new JFrame("添加单选按钮组件");
jf.setSize(width, height);
JPanel contentPane=new JPanel();
JRadioButton jr1=new JRadioButton("忽略");//创建单选按钮
JRadioButton jr2=new JRadioButton("继续");
JRadioButton jr3=new JRadioButton("跳过");
ButtonGroup buttonGroup=new ButtonGroup();//将三个单选按钮划分到一个按钮组中去
buttonGroup.add(jr1);
buttonGroup.add(jr2);
buttonGroup.add(jr3);
contentPane.add(jr1);//将按钮添加到内容面板中
contentPane.add(jr2);
contentPane.add(jr3);
jf.setContentPane(contentPane);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
}
}
经过上述程序代码的处理后,图中的三个按钮只能在同一个时间内选择一个,而不能同时选择多个。另外,有一个实际应用的小技巧,当一个界面上有很多个单选按钮时,可以将同一类的单选按钮划分到同一个按钮组中,这样就可以形成多个按钮组,用于执行特殊的功能。
下面将给出一个综合实例,这个实例将多个单选按钮组件分别分成多个按钮组,其具体代码如下所示:
/**
* 这段代码主要是展示如何创建单选按钮组件,以及如何将它们放在不同的按钮组件中
*/
public class BWF{
public static int width=300;
public static int height=200;
public static void main(String args[]){
JFrame jf=new JFrame("添加单选按钮组件");
jf.setSize(width, height);
JPanel contentPane=new JPanel();
JRadioButton jr1=new JRadioButton("乒乓球");//创建单选按钮
JRadioButton jr2=new JRadioButton("篮球");
JRadioButton jr3=new JRadioButton("电视书");
JRadioButton jr4=new JRadioButton("数学书");
JRadioButton jr5=new JRadioButton("电影");
JRadioButton jr6=new JRadioButton("录像 ");
ButtonGroup buttonGroup1=new ButtonGroup();//将单选按钮划分到一个按钮组中去
buttonGroup1.add(jr1);
buttonGroup1.add(jr2);
ButtonGroup buttonGroup2=new ButtonGroup();
buttonGroup2.add(jr3);
buttonGroup2.add(jr4);
ButtonGroup buttonGroup3=new ButtonGroup();
buttonGroup3.add(jr5);
buttonGroup3.add(jr6);
contentPane.add(jr1);//将按钮添加到内容面板中
contentPane.add(jr2);
contentPane.add(jr3);
contentPane.add(jr4);
contentPane.add(jr5);
contentPane.add(jr6);
jf.setContentPane(contentPane);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
}
}