Java 复选框

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Java 复选框

小旺不正经   2022-05-23 我要评论

Java程序设计 图形用户界面 【十】复选框

复选框JCheckBox

JCheckBox类

方法 作用
public JCheckBox(Icon icon) 创建一个带图标的对象,但不选定
public JCheckBox(Icon icon,boolean selected) 创建一个带图标的对象,并指定其是否选定
public JCheckBox(String text) 创建一个带文本的对象,但不选定
public JCheckBox(String text,boolean selected) 创建一个带文本的对象,并指定其是否选定
public JCheckBox(String text,Icon icon,boolean selected) 创建一个带文本和图标的对象,并指定其是否被选定
import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

class MyCheckBox{
    private JFrame frame = new JFrame("一");
    private Container cont =frame.getContentPane();
    private JCheckBox jcb1 = new JCheckBox("A");
    private JCheckBox jcb2 = new JCheckBox("B");
    private JCheckBox jcb3 = new JCheckBox("C");
    private JPanel pan = new JPanel();
    public MyCheckBox(){
        pan.setBorder(BorderFactory.createTitledBorder("请选择"));
        pan.setLayout(new GridLayout(1,3));
        pan.add(this.jcb1);
        pan.add(this.jcb2);
        pan.add(this.jcb3);
        cont.add(pan);
        this.frame.setSize(330,80);
        this.frame.setVisible(true);
        this.frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                super.windowClosing(e);
                System.exit(1);
            }
        });
    }
}
public class Hello {
    public static void main(String[] args) {
        new MyCheckBox();
    }
}

image-20220214160813029

与单选按钮不同的是,此时选择的地方变成了“□”型,与各个系统中常见的复选框形式是一样的

JCheckBox事件处理

JCheckBox和JRadioButton的事件处理监听接口是一样的,都是使用ItemListener接口

使用ItemListener接口进行事件的监听

方法 作用
void itemStateChanged(ItemEvent e) 当用户取消或选定某个选项时调用

ItemEvent类

方法&常量 类型 作用
public static final int SELECTED 常量 选项被选中
public static final int DESELECTED 常量 选项未被选中
public Object getItem() 方法 返回受事件影响的选项
public int getStateChange() 方法 返回选定状态的类型(已选择或已取消)
import javax.swing.*;
import java.awt.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;


class MyCheckBox {
    private JFrame frame = new JFrame("一");
    private Container cont = frame.getContentPane();
    private JCheckBox jcb1 = new JCheckBox("A");
    private JPanel pan = new JPanel();
    private JLabel a = new JLabel("未选中");
    public MyCheckBox(){
        pan.setLayout(new GridLayout(1,2));
        pan.add(a);
        pan.add(this.jcb1);
        jcb1.addItemListener(new ItemListener() {
            @Override
            public void itemStateChanged(ItemEvent e) {
                JCheckBox jcb = (JCheckBox) e.getItem();
                if(jcb.isSelected()){
                    a.setText("选中");
                }else {
                    a.setText("未选中");
                }
            }
        });
        cont.add(pan);
        this.frame.setSize(300,100);
        this.frame.setVisible(true);
        this.frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                super.windowClosing(e);
                System.exit(1);
            }
        });
    }
}
public class Hello {
    public static void main(String[] args) {
        new MyCheckBox();
    }
}

image-20220214162339305

image-20220214162350537

选中选项改变 文字

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们