Java 入门图形用户界面设计之复选框

 更新时间:2022年02月16日 15:01:49   作者:小旺不正经  
图形界面(简称GUI)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受,本篇精讲Java语言中关于图形用户界面的复选框

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

选中选项改变 文字

到此这篇关于Java 入门图形用户界面设计之复选框的文章就介绍到这了,更多相关Java 复选框内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java线程的中断和同步问题的实现

    java线程的中断和同步问题的实现

    本文主要介绍了java线程的中断和同步问题的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-07-07
  • IDEA巧用Postfix Completion让码速起飞(小技巧)

    IDEA巧用Postfix Completion让码速起飞(小技巧)

    这篇文章主要介绍了IDEA巧用Postfix Completion让码速起飞,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Java导出Excel统计报表合并单元格的方法详解

    Java导出Excel统计报表合并单元格的方法详解

    我们在日常编程过程中,总是会碰见导出相关表格信息的需求,所以就让我们一起来学习一下,这篇文章主要给大家介绍了关于Java导出Excel统计报表合并单元格的相关资料,需要的朋友可以参考下
    2021-10-10
  • MyBatis SqlSource源码示例解析

    MyBatis SqlSource源码示例解析

    这篇文章主要为大家介绍了MyBatis SqlSource源码示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • java设计模式学习之装饰模式

    java设计模式学习之装饰模式

    这篇文章主要为大家详细介绍了java设计模式学习之装饰模式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • java 虚拟机深入了解

    java 虚拟机深入了解

    这篇文章主要介绍了java 虚拟机深入了解的相关资料,ava虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统,需要的朋友可以参考下
    2017-03-03
  • jar包运行时提示jar中没有主清单属性的解决

    jar包运行时提示jar中没有主清单属性的解决

    这篇文章主要介绍了jar包运行时提示jar中没有主清单属性的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Java设计模式单例模式(Singleton)用法解析

    Java设计模式单例模式(Singleton)用法解析

    这篇文章主要介绍了Java设计模式单例模式(Singleton)用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • IDEA多线程文件下载插件开发的步骤详解

    IDEA多线程文件下载插件开发的步骤详解

    这篇文章主要介绍了IDEA多线程文件下载插件开发的步骤详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • JVM:早期(编译期)优化的深入理解

    JVM:早期(编译期)优化的深入理解

    今天小编就为大家分享一篇关于JVM:早期(编译期)优化的深入理解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02

最新评论