职业教育新东方网 > 职业教育 > 计算机 > 等级考试 > 计算机二级 > JAVA > 文章正文

2012年计算机二级Java选择组件学习教程

分享到:

2011-12-30 10:56  作者:  来源:互联网  字号:T|T

8.4 选择组件

  经过上节的学习,我们知道了如何利用文本输入组件获取用户输入的文本,但是,在很多情况下,用户可能更倾向于你给他一些选择,而不是让他自己输入这些信息。Java中提供了这样的组件,可以使用户不需输入文字而与GUI界面进行交互。

  8.4.1 JCheckBox 复选框

  JCheckBox是从JToggleButton类中派生出来的,具有两种状态,通常用于显示文本,并有一个指示是否被选中的方形按钮。

  JCheckBox的构造方法较多,详见下表8-7。

表8-7 JCheckBox构造方法

构造方法

说明

JCheckBox()

创建一个没有文本、没有图标并且最初未被选定的复选框

JCheckBox(Icon icon)

创建有一个图标、最初未被选定的复选框

JCheckBox(Icon icon,

boolean selected)

创建一个带图标的复选框,并指定其最初是否处于选定状态

JCheckBox(String text)

创建一个带文本的、最初未被选定的复选框

JCheckBox(String text,

boolean selected)

创建一个带文本的复选框,并指定其最初是否处于选定状态

JCheckBox(String text,

Icon icon)

创建带有指定文本和图标的、最初未选定的复选框

JCheckBox(String text,Icon icon,boolean selected)

创建一个带文本和图标的复选框,并指定其最初是否处于选定状态

  构造方法中各参数意义

  text - 复选框的文本

  icon - 要显示的 Icon 图像

  selected - 指示最初选择状态的 boolean 值。如果该参数为 true,则复选框被选定

  当JCheckBox被选中或取消选中时,会触发一个事件,该事件就是ActionEvent,如果想根据JCheckBox的选中情况进行不同处理,可以编写实现ActionListener接口的类进行处理。

  8.4.2 JRadioButton单选按钮

  单选按钮JRadioButton与复选按钮JCheckBox几乎是相同的,都是从JToggleButton类中派生出来的,都具有两种状态,主要用于显示文本。JRadioButton有一个指示是否被选中的圆形按钮。不同之处在于单选按钮机会总是用于显示一组互相排斥的选项(如某人的性别,男、女只能选择一项),所以,JRadioButton通常位于一个ButtonGroup按钮组中,不在按钮组中的JRadioButton也就失去了JRadioButton的意义。

  在同一个ButtonGroup按钮组种的单选按钮,任何时刻最多有一个单选按钮被选中,因此,如果我们创建的多个单选按钮其初始状态都是选中状态,则最先加入ButtonGroup按钮组的单选按钮的选中状态被保留,其后加入到ButtonGroup按钮组中的其他单选按钮的选中状态被取消。选中状态的保留与加入到ButtonGroup中的次序有关,与加入到其要显示的父容器顺序无关。

  如下代码中

  Container contentPane = this.getContentPane();

  JRadioButton r1 = new JRadioButton("a",true);

  JRadioButton r2 = new JRadioButton("b",true);

  JRadioButton r3 = new JRadioButton("c",true);

  ButtonGroup button = new ButtonGroup();

  button.add(r3);

  button.add(r2);

  button.add(r1);

  contentPane.setLayout(new FlowLayout());

  contentPane.add(r2);

  contentPane.add(r1);

  contentPane.add(r3);

  加入ButtonGroup中的JRadioButton的顺序为r3,r2,r1,而加入contentPane中的书序则为r2,r1,r2,这时候其运行效果如下:

  可见其状态选中是根据加入ButtonGroup中的顺序决定的

  JRadioButton提供了与JCheckBox完全相似的构造方法。见下表8-8

表8-8 JRadioButton构造方法
 

构造方法

说明

JRadioButton()

创建一个初始化为未选择的单选按钮,其文本未设定

JRadioButton(Icon icon)

创建一个初始化为未选择的单选按钮,其具有指定的图像但无文本

JRadioButton(Icon icon, boolean selected)

创建一个具有指定图像和选择状态的单选按钮,但无文本

JRadioButton(String text)

创建一个具有指定文本的状态为未选择的单选按钮

JRadioButton(String text, boolean selected)

创建一个具有指定的文本和图像并初始化为未选择的单选按钮

JRadioButton(String text,

Icon icon)

创建一个具有指定的文本和图像并初始化为未选择的单选按钮

JRadioButton(String text, Icon icon,boolean selected)

创建一个具有指定的文本、图像和选择状态的单选按钮

  text -此单选按钮上显示的字符串

  icon -此按钮应显示的图像

  selected - 指示最初选择状态的 boolean 值。如果该参数为 true,则单选框被选定

  当JRadioButton被选中或取消选中时,会触发一个事件,该事件就是ActionEvent,如果想根据JRadioButton的选中情况进行不同处理,可以编写实现ActionListener接口的类进行处理。

  例8-5 中在JFrame添加了两个JRadioButton及三个JCheckBox,验证我们所学的部分知识。

  [例 8-5]

  import java.awt.*;

  import javax.swing.*;

  import java.awt.event.*;

  class JCheckBoxAndJRadioButtonTest extends JFrame{

  private JPanel panelNorth = new JPanel();

  private JLabel label1 = new JLabel("性别");

  private JRadioButton rb1 = new JRadioButton("男",true);

  private JRadioButton rb2 = new JRadioButton("女");

  private ButtonGroup group = new ButtonGroup();

  private JLabel label2 = new JLabel("擅长");

  private JCheckBox cb1= new JCheckBox("书法");

  private JCheckBox cb2= new JCheckBox("唱歌");

  private JCheckBox cb3= new JCheckBox("跳舞");

  private JButton button = new JButton("确定");

  private JTextArea ta = new JTextArea(6,10);

  public JCheckBoxAndJRadioButtonTest(String title){

  super(title);

  Container contentPane = this.getContentPane();

热点课讯

精彩问答

提问