Swing复选框组件

复选框(JCheckBox)在Swing组件中的使用也非常广泛,它具有一 个方块图标,外加一段描述性文字。与单选按钮唯一不同的是,复选框 可以进行多选设置,每一个复选框都提供“选中”与“不选中”两种状态。 复选框用JCheckBox类的对象表示,它同样继承于AbstractButton类,所 以复选框组件的属性设置也来源于AbstractButton类。

JCheckBox的常用构造方法如下:

  • public JCheckBox()。
  • public JCheckBox(Icon icon,boolean checked)。
  • public JCheckBox(String text,boolean checked)。

复选框与其他按钮设置基本相同,除了可以在初始化时设置图标之 外,还可以设置复选框的文字是否被选中。

下面来看一个实例,在这个实例中笔者将滚动面板与复选框结合使用

【例】在项目中创建CheckBoxTest类,该类继承JFrame类成为 窗体组件,在类中设置窗体使用边界布局管理器,为窗体添加多个复选 框对象。本实例关键代码如下:

package com.lzw;

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class CheckBoxTest extends JFrame {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private JPanel panel1 = new JPanel();
    private JPanel panel2 = new JPanel();
    private JTextArea jt = new JTextArea(3, 10);
    private JCheckBox jc1 = new JCheckBox("1");
    private JCheckBox jc2 = new JCheckBox("2");
    private JCheckBox jc3 = new JCheckBox("3");
    public CheckBoxTest() {
        Container c = getContentPane();

        c.setLayout(new BorderLayout());

        c.add(panel1, BorderLayout.NORTH);
        final JScrollPane scrollPane = new JScrollPane(jt);
        panel1.add(scrollPane);

        c.add(panel2, BorderLayout.SOUTH);
        panel2.add(jc1);
        jc1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                if (jc1.isSelected())
                    jt.append("复选框1被选中\n");
            }
        });

        panel2.add(jc2);
        jc2.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                if (jc2.isSelected())
                    jt.append("复选框2被选中\n");
            }
        });

        panel2.add(jc3);
        jc3.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                if (jc3.isSelected())
                    jt.append("复选框3被选中\n");
            }
        });

        setSize(200, 160);
        setVisible(true);
        setTitle("复选框的使用");
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        new CheckBoxTest();

    }

}
复选框的应用
复选框的应用

本实例中的窗体使用了边界布局管理器,将编译器放置在面板中置 于窗体的最北端,同时将3个复选框放置在面板中置于窗体的最南端 (带滚动条的编译器在单选按钮组件中已经讲解过,这里不再赘述)。使用 JCheckBox类中的构造方法实例化3个复选框对象,将这3个复选框放置 在面板中,分别为这3个复选框设置监听事件,当用户选中某个复选框 时,相应文本框将显示相关内容,这里使用的是JTextArea类中的 append()方法为文本域添加文字。

发表评论