分享

Java学习——64.JCheckBox

 pythonjava学习 2021-04-06

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

今天介绍复选框JCheckBox

1、复选框类声明

复选框可实现多项选择,其声明如下:

public class JCheckBox extends JToggleButton implements Accessible

{

   public JCheckBox (String text)

   public JCheckBox (String text, boolean selected)

   public JCheckBox (String text, Icon icon, boolean   selected)

}

复选框也继承自AbstractButton抽象按钮类。

2AbstractButton抽象按钮类

此类定义按钮和菜单项的一般行为,声明如下:

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)// 取消动作事件监听器

}

3、简单例题:

本例以“个人爱好”为例,介绍复选框的用法。

几点说明:

(1)      爱好很多,故本例中用复选框数组,每一个复选框数组中的数组元素是一个爱好。

(2)      在构造方法中创建复选框时,要先创建复选框数组。再对其中的每一个数组元素进行实例化。

(3)      复选框可以用注册动作事件监听器,本例中选中爱好之后,将之显示在文本区中。

其完整代码如下:

package learn;

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class JCheckboxlearn extends JFrame implements ActionListener{

    private JCheckBox like[];//爱好复选框数组

    private JTextArea text;

    public JCheckboxlearn(){

        super("复选框");

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

        JPanelpane=new JPanel();

        Strings[]={"唱歌","跳舞","画画","打球","其它"};

        like=new JCheckBox[s.length];//追寻安徽组

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

            like[i]=new JCheckBox(s[i]);//实例化数组元素

            pane.add(like[i]);//将数组元素放入面板中

            like[i].addActionListener(this);//为每一个复选框注册事件监听器

        }

        this.getContentPane().add(pane);//将面板加入框架中

        this.setVisible(true);

        text=new JTextArea();

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

    }   

    public void actionPerformed(ActionEvent e){

        text.setText("您的爱好是:");

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

            if(like[i].isSelected())

                text.append(like[i].getText()+".");

        }

    }

    public static void main(String args[]){

        new JCheckboxlearn();

    }

}

其运行结果如下:

当任意选中一个复选框时:

可以选中多个复选框,其运行结果如下:

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多