Swing程序设计(9)复选框,下拉框

文章目录

  • 前言
  • 一、复选框
  • 二、下拉框
  • 总结

前言

        该篇文章简单介绍了Java中Swing组件里的复选框组件、列表框组件、下拉框组件,这些在系统中都是常用的组件。


一、复选框

        复选框(JCheckBox)在Swing组件中的使用也非常广泛,一个方形方块,配备文字,支持多选,都有“选中”与“不选中”两种状态。

        JCheckBox的常用构造方法如下:

public JChechBox();

public JCheckBox(Icon icon,boolean cheched);

public JCheckBox(String text,boolean checked);

         实例展示:

                在项目中创建CheckBoxTest类,该类继承了JFrame类成为窗体组件,在类中设置窗体使用流布局管理器,为窗体添加多个复选框对象,代码具体如下:

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;
//导入swing的包

public class LabelDemo extends JFrame{
//继承JFrame窗体类

    public LabelDemo(){
        //创建构造方法,搭建窗体

        setBounds(100,100,500,500);
        //设置窗体大小,生成位置

        setDefaultCloseOperation(EXIT_ON_CLOSE);
        //设置关闭方式

        Container c = getContentPane();
        //获取容器

        c.setLayout(new FlowLayout());
        //设置布局方式

        JCheckBox j1 = new JCheckBox("1");
        JCheckBox j2 = new JCheckBox("2");
        JCheckBox j3 = new JCheckBox("3");
        //创建三个复选框对象

        c.add(j1);
        c.add(j2);
        c.add(j3);

        j1.setSelected(true);
        //确定第一个选项被选

        //创建一个按钮对象,并设置好动作事件监听对象
        JButton btn = new JButton("打印");
        btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0){
                System.out.println(j1.getText()+"复选框选中状态"+j1.isSelected());
                System.out.println(j2.getText()+"复选框选中状态"+j2.isSelected());
                System.out.println(j3.getText()+"复选框选中状态"+j3.isSelected());
            }
        });

        c.add(btn);

        setVisible(true);
        //窗体可见
    }
    
    public static void main(String[] args) {
        new LabelDemo();
    }
}

        运行结果:

 

选中”3“复选框

 

点击打印(终端输出选中情况)

 

         注释:

创建三个复选框按钮

        JCheckBox j1 = new JCheckBox("1");
        JCheckBox j2 = new JCheckBox("2");
        JCheckBox j3 = new JCheckBox("3");

确定某个复选框是否被选中

        j1.setSelected(true);    //确定j1按钮预先被选中

        j2.setSelected(false);   //确定j2按钮预先不被选中

设置动作监听事件并将结果反馈于控制台中

        JButton btn = new JButton("打印");
        btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0){
                System.out.println(j1.getText()+"复选框选中状态"+j1.isSelected());
                System.out.println(j2.getText()+"复选框选中状态"+j2.isSelected());
                System.out.println(j3.getText()+"复选框选中状态"+j3.isSelected());
            }
        });

二、下拉框 

        下拉框(JComboBox)在Swing中不仅可以供用户从中选择项目,也提供编辑项目中内容的功能。Swing中的下拉列表框使用JComboBox类对象来表示,它的常用构造方法如下:

public JComboBox();

public JComboBox(ComboBoxModel dataModel);

public JComboBox(Object[] arrayData);

public JComboBox(Vector vector);

        实例展示:

                第一种:

JComboBox<String> comboBox  = new JComboBox<>();        
//创建下拉框对象(String类型)
addItem("字符串");
//添加下拉框中的对象

       //创建下拉框对象(String类型)

        JComboBox<String> comboBox  = new JComboBox<>();        

        //向下拉列表添加数据

        comboBox.addItem("身份证");

        comboBox.addItem("学生证");

        comboBox.addItem("驾驶证");

       

        //设置下拉按钮的大小和布局位置

        comboBox.setBounds(10,10,80,21);

import java.awt.*;
import javax.swing.*;
//导入swing的包

public class LabelDemo extends JFrame{
//继承JFrame窗体类

    public LabelDemo(){
        //创建构造方法,搭建窗体

        setBounds(100,100,190,120);
        //设置窗体大小,生成位置

        setDefaultCloseOperation(EXIT_ON_CLOSE);
        //设置关闭方式

        Container c = getContentPane();
        //获取容器

        JComboBox<String> comboBox = new JComboBox<>();
        //创建下拉框对象comboBox

        //添加下拉框中的选项
        comboBox.addItem("身份证");
        comboBox.addItem("学生证");
        comboBox.addItem("驾驶证");

        //设置下拉框按钮的布局和大小
        comboBox.setBounds(10,10,80,21);

        c.add(comboBox);
        setVisible(true);
        //窗体可见
    }
    
    public static void main(String[] args) {
        new LabelDemo();
    }
}

        运行展示: 

                第二种:

//创建一个String数组,每一个元素都是一个选项
String items[] = {"身份证","学生证","驾驶证"};

//将这些元素放入comboBox下拉框对象中,元素作为选项
JComboBox<String> comboBox = new JComboBox<>(items);

//添加该组件于容器中
c.add(comboBox);

        //创建一个String数组,每一个元素都是一个选项

        String item[] = {"身份证","学生证","驾驶证"};

        

        //创建下拉框对象comboBox,并且添加String数列为选项

        JComboBox<> comboBox = new JComboBox<>(items);

import java.awt.*;
import javax.swing.*;
//导入swing的包

public class LabelDemo extends JFrame{
//继承JFrame窗体类

    public LabelDemo(){
        //创建构造方法,搭建窗体

        setBounds(100,100,190,120);
        //设置窗体大小,生成位置

        setDefaultCloseOperation(EXIT_ON_CLOSE);
        //设置关闭方式

        Container c = getContentPane();
        //获取容器

        String items[] = {"身份证","学生证","驾驶证"};
        //创建String数组对象

        JComboBox<String> comboBox = new JComboBox<>(items);
        //创建下拉框对象comboBox,通过String数组,添加选项

        //设置下拉框按钮的布局和大小
        comboBox.setBounds(10,10,80,21);

        c.add(comboBox);
        setVisible(true);
        //窗体可见
    }
    
    public static void main(String[] args) {
        new LabelDemo();
    }
}

        实例展示:

              

                 第三种:

        String items[] ={"身份证","学生证","驾驶证"};

        //创建数组String,创建选项内容

        ComboBoxModel cm = new DefaultComboBoxModel<>(items);

        //将下拉框中的选项封装为ComboBoxModel

        //对选项进行了封装!!!

        JComboBox<String> comboBox = new JComboBox<>();

        //创建下拉框对象comboBox

        comboBox.setModel(cm);

        //设置下拉框按钮的布局和大小

        comboBox.setBounds(10,10,80,21);

        c.add(comboBox);

        实例展示:

import java.awt.*;
import javax.swing.*;
//导入swing的包

public class LabelDemo extends JFrame{
//继承JFrame窗体类

    public LabelDemo(){
        //创建构造方法,搭建窗体

        setBounds(100,100,190,120);
        //设置窗体大小,生成位置

        setDefaultCloseOperation(EXIT_ON_CLOSE);
        //设置关闭方式

        Container c = getContentPane();
        //获取容器

       
        String items[] ={"身份证","学生证","驾驶证"};
        //创建数组String,创建选项内容

        ComboBoxModel cm = new DefaultComboBoxModel<>(items);
        //将下拉框中的选项封装为ComboBoxModel

        //对选项进行了封装!!!

        JComboBox<String> comboBox = new JComboBox<>();
        //创建下拉框对象comboBox

        comboBox.setModel(cm);
        //设置下拉框按钮的布局和大小

        comboBox.setBounds(10,10,80,21);

        c.add(comboBox);
        setVisible(true);
        //窗体可见
    }
    
    public static void main(String[] args) {
        new LabelDemo();
    }
}

        运行结果: 

总结        

        以上就是今天的内容,本文仅简单介绍了java的Swing程序的复选框、下拉框的使用,而Swing程序提供了大量能使我们快速便捷地处理数据的函数和方法。欢迎在评论区中批评和补充,纠正,博主会及时进行反馈。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/229227.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vulnhub-DC-9 靶机复现完整过程

一、搭建环境 kali的IP地址是&#xff1a;192.168.200.14 DC-9的IP地址暂时未知 二、信息收集 1、探索同网段下存活的主机 arp-scan -l #2、探索开放的端口 开启端口有&#xff1a;80和22端口 3、目录扫描 访问80 端口显示的主页面 分别点击其他几个页面 可以看到是用户…

《Linux源码趣读》| 好书推荐

目录 一. &#x1f981; 前言二. &#x1f981; 像小说一样趣读 Linux 源码三. &#x1f981; 学习路线 一. &#x1f981; 前言 最近、道然科技给狮子送了两本书&#xff1a;一本是付东来的《labuladong的算法笔记》、一本是闪客著的《Linux源码趣读》&#xff0c;《labulado…

零基础如何入门HarmonyOS开发?

HarmonyOS鸿蒙应用开发是当前非常热门的一个领域&#xff0c;许多人都想入门学习这个技术。但是&#xff0c;对于零基础的人来说&#xff0c;如何入门确实是一个问题。下面&#xff0c;我将从以下几个方面来介绍如何零基础入门HarmonyOS鸿蒙应用开发学习。 一、了解HarmonyOS鸿…

认识系统服务daemons

什么是daemon与服务&#xff08;service) 常驻内存的是进程&#xff0c;可以提供一些系统或网络功能&#xff0c;这就是服务。实现service的程序称为daemon。也就是说要想提供某种服务&#xff0c;daemon实在后台运行的。 daemon的分类&#xff1a; 1&#xff09;可独立启动…

CSS——sticky定位

1. 大白话解释sticky定位 粘性定位通俗来说&#xff0c;它就是相对定位relative和固定定位fixed的结合体&#xff0c;它的触发过程分为三个阶段 在最近可滚动容器没有触发滑动之前&#xff0c;sticky盒子的表现为相对定位relative【第一阶段】&#xff0c; 但当最近可滚动容…

class062 宽度优先遍历及其扩展【算法】

class062 宽度优先遍历及其扩展【算法】 算法讲解062【必备】宽度优先遍历及其扩展 code1 1162. 地图分析 // 地图分析 // 你现在手里有一份大小为 n x n 的 网格 grid // 上面的每个 单元格 都用 0 和 1 标记好了其中 0 代表海洋&#xff0c;1 代表陆地。 // 请你找出一个海…

初识Linux:权限(2)

目录 权限 用户&#xff08;角色&#xff09; 文件权限属性 文件的权限属性&#xff1a; 有无权限的区别&#xff1a; 身份匹配&#xff1a; 拥有者、所属组的修改&#xff1a; 八进制的转化&#xff1a; 文件的类型&#xff1a; x可执行权限为什么不能执行&#xf…

flstudio21破解汉化版2024最新水果编曲使用教程

​ 如果你一直梦想制作自己的音乐(无论是作为一名制作人还是艺术家)&#xff0c;你可能会想你出生在这个时代是你的幸运星。这个水果圈工作室和上一版之间的改进水平确实令人钦佩。这仅仅是FL Studio 21所提供的皮毛。你的音乐项目的选择真的会让你大吃一惊。你以前从未有过这…

3_CSS层叠样式表基础

第3章-CSS层叠样式表基础 学习目标(Objective) 掌握标签选择器的使用掌握类选择器的使用了解id选择器和通配符选择器掌握font属性和color属性的应用 1.HTML的局限性 如果要改变下高度或者变一个颜色&#xff0c;就需要大量重复操作 总结&#xff1a; HTML满足不了设计者的需…

初识优先级队列与堆

1.优先级队列 由前文队列queue可知&#xff0c;队列是一种先进先出(FIFO)的数据结构&#xff0c;但有些情况下&#xff0c;操作的数据可能带有优先级&#xff0c;一般出队列时&#xff0c;可能需要优先级高的元素先出队列&#xff0c;在此情况下&#xff0c;使用队列queue显然不…

git clone 命令

git clone 是一个用于克隆&#xff08;clone&#xff09;远程 Git 仓库到本地的命令。 git clone 可以将一个远程 Git 仓库拷贝到本地&#xff0c;让自己能够查看该项目&#xff0c;或者进行修改。 git clone 命令&#xff0c;你可以复制远程仓库的所有代码和历史记录&#xf…

python基于轻量级GhostNet模型开发构建23种常见中草药图像识别系统

轻量级识别模型在我们前面的博文中已经有过很多实践了&#xff0c;感兴趣的话可以自行移步阅读&#xff1a; 《移动端轻量级模型开发谁更胜一筹&#xff0c;efficientnet、mobilenetv2、mobilenetv3、ghostnet、mnasnet、shufflenetv2驾驶危险行为识别模型对比开发测试》 《基…

目标检测——OverFeat算法解读

论文&#xff1a;OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks 作者&#xff1a;Pierre Sermanet, David Eigen, Xiang Zhang, Michael Mathieu, Rob Fergus, Yann LeCun 链接&#xff1a;https://arxiv.org/abs/1312.6229 文章…

【kubernetes】k3s集群搭建(正在更新……)

文章目录 一、k3s简介二、快速搭建1.控制平面2.镜像加速 Pod容器集1.创建和管理pod Deployment(部署)与ReplicaSet(副本集)滚动更新 Service命名空间YAML语法管理对象常用命令缩写YAML规范 声明式配置对象标签选择器 容器运行时接口(CRI)与镜像导入导出容器运行时接口(CRI) 金丝…

C语言期末考试复习PTA数据类型及表达式-分支结构程序-循环结构-数组经典选择题

目录 第一章&#xff1a;C语言数据类型和表达式 第一题&#xff1a; 第二题&#xff1a; 第三题&#xff1a; 第四题&#xff1a; 第五题&#xff1a; 第六题&#xff1a; 第七题&#xff1a; 第八题&#xff1a; 第九题&#xff1a; 第二章&#xff1a;分支结构程序…

2023.12.7 关于 MySQL 事务详解

目录 事务的四大特性 原子性 一致性 持久性 隔离性 事务并发执行 脏读 不可重复读 幻读 四个隔离级别 read uncommitted read committed repeatable read serializable 事务的四大特性 原子性 一个事务中的所有操作&#xff0c;要么全部完成&#xff0c;要么全部…

一篇文章带你快速入门 Nuxt.js 服务端渲染

1. Nuxt.js 概述 1.1 我们一起做过的SPA SPA&#xff08;single page web application&#xff09;单页 Web 应用&#xff0c;Web 不再是一张张页面&#xff0c;而是一个整体的应用&#xff0c;一个由路由系统、数据系统、页面&#xff08;组件&#xff09;系统等等&#xff0…

16mic圆形麦克风阵列电路与声源定位算法设计

16mic圆形麦克风阵列电路与声源定位算法设计 是否需要申请加入数字音频系统研究开发交流答疑群(课题组)&#xff1f;可加我微信hezkz17, 本群提供音频技术答疑服务&#xff0c;群赠送语音信号处理降噪算法&#xff0c;蓝牙耳机音频&#xff0c;DSP音频项目核心开发资料, 1 实…

多线程并发Ping脚本

1. 前言 最近需要ping地址&#xff0c;还是挺多的&#xff0c;就使用python搞一个ping脚本&#xff0c;记录一下&#xff0c;以免丢失了。 2. 脚本介绍 首先检查是否存在True.txt或False.txt文件&#xff0c;并在用户确认后进行删除&#xff0c;然后从IP.txt的文件中读取IP地…

灵活性与可靠性:SaaS云开发与定制开发小程序的优缺点解析

随着移动互联网的快速发展&#xff0c;微信小程序作为一种轻量级的应用程序&#xff0c;逐渐成为了企业开展业务和提升用户体验的重要工具。对于企业而言&#xff0c;选择通过SaaS云开发或定制开发的方式开发小程序&#xff0c;都是为了更好地实现业务目标。在这篇文章中&#…