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

news2024/11/17 15:26:02

文章目录

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

前言

        该篇文章简单介绍了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.coloradmin.cn/o/1295222.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MATLAB源码-第98期】基于matlab的能量谷优化算法(EVO)无人机三维路径规划,输出做短路径图和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 能量谷优化算法&#xff08;Energy Valley Optimization, EVO&#xff09;是一种启发式优化算法&#xff0c;灵感来源于物理学中的“能量谷”概念。它试图模拟能量在不同能量谷中的转移过程&#xff0c;以寻找最优解。 在EVO…

Spring boot各种Date时间相差8小时出现的问题及其解决方法!

数据库中存的是2019-07-22 22:00:00 但是页面展示2019-07-22 14:00:00 查看数据时区是08:00导致的,数据库是Oracle&#xff0c;生成数据库没办法改时区 一&#xff1a;Spring boot ResponseBody转换JSON 时 Date 时间相差8小时 一描述&#xff1a;当使用jackson时&#xff0c;…

什么是JVM的内存模型?详细阐述Java中局部变量、常量、类名等信息在JVM中的存储位置

导航&#xff1a; 【Java笔记踩坑汇总】Java基础JavaWebSSMSpringBootSpringCloud瑞吉外卖/黑马旅游/谷粒商城/学成在线设计模式面试题汇总性能调优/架构设计源码-CSDN博客 目录 一、JVM基本介绍 二、JVM内存模型 2.0 概述 2.1 类加载子系统 2.2 运行时数据区 2.2.0 基本…

使用静态HTTP提供动态内容

在Web开发中&#xff0c;静态HTTP和动态HTTP常被视作两种截然不同的技术。静态HTTP主要用于传输不变的内容&#xff0c;如HTML、CSS和JavaScript文件&#xff0c;而动态HTTP则能处理用户交互、实时数据等动态需求。但鲜为人知的是&#xff0c;我们其实可以通过一些技巧&#xf…

Python Appium Selenium 查杀进程的实用方法

一、前置说明 在自动化过程中&#xff0c;经常需要在命令行中执行一些操作&#xff0c;比如启动应用、查杀应用等&#xff0c;因此可以封装成一个CommandExecutor来专门处理这些事情。 二、操作步骤 # cmd_util.pyimport logging import os import platform import shutil i…

软件测试--selenium安装使用

安装selenium不少人使用pip命令来安装selenium&#xff0c;辛辛苦苦安装完之后&#xff0c;还是不能使用。所以我们可以是直接使用编译器&#xff0c;pycharm直接安装selenium扩展包。 file中点击settings 在Settings中点击Project Interpreter,点击加号就可以安装各种需要的扩…

SpringBoot 项目将jar 部署在服务器引用外部 配置文件

SpringBoot 官方给出了四种方式引用外部配置文件的方式 在jar包的同一目录下建一个config文件夹&#xff0c;然后把配置文件放到这个文件夹下(最常用)直接把配置文件放到jar包的同级目录在classpath下建一个config文件夹&#xff0c;然后把配置文件放进去在classpath下直接放配…

AI智能降重软件大全,免费最新AI智能降重软件

在当今信息爆炸的时代&#xff0c;内容创作者们面临着巨大的写作压力&#xff0c;如何在保持高质量的前提下提高效率成为摆在许多人面前的难题。AI智能降重软件因其独特的算法和功能逐渐成为提升文案质量的得力助手。本文将专心分享一些优秀的AI智能降重软件。 147SEO改写软件 …

unity 2d 入门 飞翔小鸟 柱子移动(十一)

c#脚本 using System.Collections; using System.Collections.Generic; using UnityEngine;public class PoleMove : MonoBehaviour {//移动上限制public float up;//移动下限public float below;//速度private float speed;// Start is called before the first frame update…

中断分类、中断过程、向量中断

中断过程&#xff1a; &#xff08;1&#xff09;中断请求 中断源以硬件信号形式通过中断控制线路向CPU提出中断请求。 中断源&#xff1a;引起中断事件的原因。 中断源可以是外部的硬件设备&#xff0c;如键盘、打印机等输入/输出设备和各种控制设备&#xff1b;也可以是软件…

C/C++ 实现动态资源文件释放

当我们开发Windows应用程序时&#xff0c;通常会涉及到使用资源&#xff08;Resource&#xff09;的情况。资源可以包括图标、位图、字符串等&#xff0c;它们以二进制形式嵌入到可执行文件中。在某些情况下&#xff0c;我们可能需要从可执行文件中提取自定义资源并保存为独立的…

CV计算机视觉每日开源代码Paper with code速览-2023.12.4

点击CV计算机视觉&#xff0c;关注更多CV干货 论文已打包&#xff0c;点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【目标检测】TIDE: Test Time Few Shot Object Detection 论文地址&#xff1a;https://arxiv.org//pdf/2311.18358 开源代码&#xff1a;G…

《Spring Cloud Alibaba 从入门到实战》理论知识篇

基础知识篇 理论篇 俗话说&#xff0c;没有最好的架构&#xff0c;只有最合适的架构。 微服务架构也是随着信息产业的发展而出现的最有普遍适用性的一套架构模式。 通常来说&#xff0c;我们认为架构发展历史经历了这样一个过程&#xff1a;单体架构 -> SOA 面向服务架构 …

css 输入框动态特效

先上图 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>css 输入框动效</title><style>.inputBox {position: relative;width: 250px;}.inputBox input {width: 100%;padding: 10px…

PyTorch2.0环境搭建

一、安装python并配置环境变量 1、打开python官网&#xff0c;下载并安装 Welcome to Python.org 下载 寻找版本&#xff1a;推荐使用3.9版本&#xff0c;或其他表中显示为安全&#xff08;security&#xff09;的版本 安装&#xff1a;&#xff08;略&#xff09; 2、配置环…

《Android编程权威指南》之第二个activity源码及挑战

文章目录 前言效果图依赖MainactivityKotlin的“ &#xff1f;”kotlin的符号 QuizViewModelQuestion类CheatActivityonBackPressed()companion CheatViewModelstring.xml 前言 实现禁止一题多答&#xff0c;按题记录作弊状态、偷看次数限制、横竖屏切换依旧保存状态数据 个人…

探索异步交互:JavaScript AJAX 的全面指南

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;JavaScript篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来JavaScript篇专栏内容:JavaScript-AjAx 目录 AJAX AJAX 的优势 AJAX 的使用 创建一个 ajax 对象 配置…

Java网络编程-深入理解BIO、NIO

深入理解BIO与NIO BIO BIO 为 Blocked-IO&#xff08;阻塞 IO&#xff09;&#xff0c;在 JDK1.4 之前建立网络连接时&#xff0c;只能使用 BIO 使用 BIO 时&#xff0c;服务端会对客户端的每个请求都建立一个线程进行处理&#xff0c;客户端向服务端发送请求后&#xff0c;…

三防平板|手持终端PDA|8寸/10寸工业三防平板电脑主板方案定制

近年来&#xff0c;随着科技的快速发展&#xff0c;三防平板成为了各行各业中不可或缺的工具。三防平板采用IP67级别的防护设计&#xff0c;通过了多项测试标准&#xff0c;如国标和美标&#xff0c;具备防水、防摔、防尘、防撞、防震、防跌落以及防盐雾等多重防护功能。因此&a…

CCKS2023-面向金融领域的主体事件检测-亚军方案分享

赛题分析 大赛地址 https://tianchi.aliyun.com/competition/entrance/532098/introduction?spma2c22.12281925.0.0.52b97137bpVnmh 任务描述 主体事件检测是语言文本分析和金融领域智能应用的重要任务之一&#xff0c;如在金融风控领域往往会对公司主体进行风险事件的检测…