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 复选框内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • IDEA在一个工作空间中管理多个项目的详细步骤

    IDEA在一个工作空间中管理多个项目的详细步骤

    这篇文章主要介绍了IDEA在一个工作空间中管理多个项目的详细步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Spring Boot如何处理@Resource示例分析

    Spring Boot如何处理@Resource示例分析

    这篇文章主要为大家介绍了Spring Boot如何处理@Resource示例分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • 解决mybatis-plus通用mapper调用报错:Invalid bound statement

    解决mybatis-plus通用mapper调用报错:Invalid bound statement

    这篇文章主要介绍了解决mybatis-plus通用mapper调用报错:Invalid bound statement的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • Java纯代码实现导出pdf

    Java纯代码实现导出pdf

    在项目开发中,产品的需求越来越奇葩啦,开始文件下载都是下载为excel的,做着做着需求竟然变了,要求能导出pdf,所以本文就来用Java实现导出pdf功能吧
    2023-12-12
  • java实现微信小程序登录态维护的示例代码

    java实现微信小程序登录态维护的示例代码

    本篇文章主要介绍了java实现微信小程序登录态维护的示例代码,具有一定的参考价值,有兴趣的可以了解一下
    2017-09-09
  • SpringBoot项目打包war包时无法运行问题的解决方式

    SpringBoot项目打包war包时无法运行问题的解决方式

    在开发工程中,使用启动类启动能够正常启动并测试,下面这篇文章主要给大家介绍了关于SpringBoot项目打包war包时无法运行问题的解决方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • spring boot之SpringApplication 事件监听

    spring boot之SpringApplication 事件监听

    这篇文章主要介绍了spring boot之SpringApplication 事件监听,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • 分布式之全面了解Kafka的使用与特性

    分布式之全面了解Kafka的使用与特性

    Kafka 是我工作多年使用最多的消息中间件 ,特点是拥有巨大吞吐量(数百万/秒),作为当下最流行的分布式,可水平扩展,可容错的“消息系统”,下面跟随小编看下分布式之全面了解Kafka的使用与特性
    2021-11-11
  • Java线程间通讯的几种方法小结

    Java线程间通讯的几种方法小结

    线程通信可以用于控制并发线程的数量,本文主要介绍了Java线程间通讯的几种方法小结,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • Spring boot整合jsp和tiles模板示例

    Spring boot整合jsp和tiles模板示例

    这篇文章主要介绍了Spring boot整合jsp模板和tiles模板的示例演示过程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03

最新评论