22.4.4 如何添加单选按钮

单选按钮也被称为radioButton,它通过JRadioButton类实现。在一些数据库系统软件中,会出现“ 性别”单选按钮,通过选择不同的单选按钮,来实现不同 性别的选择。

【实例22.4】下面通过实例演示如何设计单选按钮。


01 import javax.swing.*;

02 import java.awt.*;

03 ///创建一个顶层框架类

04 ///WIDTH参数是指框架的宽度

05 ///HEIGHT参数是指框架的长度

06 ///setTitle用来设置框架左上角的标题

07 ///setSize用来设置框架的大小

08 ///通过ToolKit类中的方法,将顶层框架放置到屏幕中央

09 ///创建一个容器类对象p,并且在其中添加三个按钮jr1、jr2、jr3

10 ///将p添加到顶层框架中

11 public class Swingtest3

12 {

13 static final int WIDTH=300;

14 static final int HEIGHT=200;

15 public static void main(String[]args)

16 {

17 JFrame jf=new JFrame();

18 jf.setSize(WIDTH, HEIGHT);

19 jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

20 jf.setTitle("学生管理系统");

21 Toolkit kit=Toolkit.getDefaultToolkit();

22 Dimension screenSize=kit.getScreenSize();

23 int width=screenSize.width;

24 int height=screenSize.height;

25 int x=(width-WIDTH)/2;

26 int y=(height-HEIGHT)/2;

27 jf.setLocation(x, y);

28 JRadioButton jr1=new JRadioButton("忽略");

29 JRadioButton jr2=new JRadioButton("继续");

30 JRadioButton jr3=new JRadioButton("跳过");

31 Panel p=new Panel();

32 p.add(jr1);

33 p.add(jr2);

34 p.add(jr3);

35 jf.add(p, BorderLayout.SOUTH);

36 jf.show();

37 }

38 }


【代码说明】第17~20行创建窗口并设置窗口的大小和标题,第28~34行创建3个单选按钮,并将其添加到Panel中,第35行指定Panel在窗口中的位置。

【运行效果】运行结果如图22.4所示。

22.4.4 如何添加单选按钮 - 图1

图 22.4 添加没有调整的单选按钮

在上面的情况中,3个单选按钮都可以被选中。如果希望一个单选按钮被选中,其他的自动被置为未选中状态,那就使用到按钮组。


ButtonGroup group=new ButtonGroup();


【实例22.5】下面修改前面的实例看看结果如何。


01 import javax.swing.*;

02 import java.awt.*;

03 ///创建一个顶层框架类

04 ///WIDTH参数是指框架的宽度

05 ///HEIGHT参数是指框架的长度

06 ///setTitle用来设置框架左上角的标题

07 ///setSize用来设置框架的大小

08 ///通过ToolKit类中的方法,将顶层框架放置到屏幕中央

09 ///创建一个容器类对象p,并且在其中添加三个按钮jr1、jr2、jr3

10 ///将p添加到顶层框架中

11 public class Swingtest4

12 {

13 static final int WIDTH=300;

14 static final int HEIGHT=200;

15 public static void main(String[]args)

16 {

17 JFrame jf=new JFrame();

18 jf.setSize(WIDTH, HEIGHT);

19 jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

20 jf.setTitle("学生管理系统");

21 Toolkit kit=Toolkit.getDefaultToolkit();

22 Dimension screenSize=kit.getScreenSize();

23 int width=screenSize.width;

24 int height=screenSize.height;

25 int x=(width-WIDTH)/2;

26 int y=(height-HEIGHT)/2;

27 jf.setLocation(x, y);

28 JRadioButton jr1=new JRadioButton("忽略");

29 JRadioButton jr2=new JRadioButton("继续");

30 JRadioButton jr3=new JRadioButton("跳过");

31 ButtonGroup bg=new ButtonGroup();

32 Panel p=new Panel();

33 bg.add(jr1);

34 bg.add(jr2);

35 bg.add(jr3);

36 p.add(jr1);

37 p.add(jr2);

38 p.add(jr3);

39 jf.add(p, BorderLayout.SOUTH);

40 jf.show();

41 }

42 }


【代码说明】第3 1行的设置和上例不同,这里先设置了一个ButtonGroup,然后将3个单选按钮添加到ButtonGroup中,这样生成的单选按钮组中只能有一项被选中。

【运行效果】运行结果如图22.5所示。

22.4.4 如何添加单选按钮 - 图2

图 22.5 添加调整过的单选按钮