Swing程序设计(1)概述及常用组件

news2024/9/24 22:37:37

文章目录

  • 前言
  • 一、什么是GUI?
  • 二、Swing概述
    • 1.Swing包
    • 2.Swing常用组件
  • 总结

前言

        该文介绍了Java中Swing组件的概述,以及常用组件的介绍。Swing程序是关于开发软件界面的一种轻量级Java组件。那什么是Swing组件?弹出对话框,窗体,设计按钮,标签等一系列操作都是通过Swing程序设计实现的。


一、什么是GUI?

        GUI是一种图形用户界面,诞生的目的是为了构建一个通用的图形用户界面,能够在所有平台上运行。在创建一个图形用户界面时,既要用到AWT组件(重量级组件),又要用到Swing组件(Swing组件是AWT的增强组件,不能代替AWT组件)。

        Swing组件与AWT组件的区别:

        AWT组件:

                1.AWT组件位于 java.awt包。

                2.GUI组件风格不统一

                3.AWT组件依赖操作系统。

        Swing组件:

                1.Swing组件位于javax.swing包。

                2.GUI组件风格统一

                3.Swing组件不依赖操作系统。                             

二、Swing概述

        Swing组件是Java编程语言中的一个GUI(图形用户界面)组件库。它提供了一系列的可视化组件,用于创建跨平台的用户界面。Swing组件可以用于开发桌面应用程序,包括窗口、按钮、文本框、标签、列表、表格等等。它是是使用Java编写GUI应用程序的主要工具之一。Swing组件具有丰富的功能和灵活性,可以通过继承和组合来创建自定义的用户界面。

        Swing的特点:

                1.轻量级组件:Swing组件通常被称为“轻量级组件”,由于它完全由Java语言编写,而Java是不依赖于操作系统,致使Swing组件可以在任何平台上运行。

                2.可插入外观组件:允许编程人员在跨平台时统一组件的外观和风格。

1.Swing包

        Swing包中重要的类是 Component类,Container类,JComponent类

        它们的继承关系如图所示:

        其中Java.awt.Windows(窗口)类中的继承关系如图: 

        其中Javax.swing.JComponent(组件)类中包含着大部分的Swing常用组件(窗体,对话框组件在java.awt.Windows包中)。

2.Swing常用组件

组件名称定义
JButton代表Swing按钮,按钮可以带一些图片或文字
JCheckBox代表Swing中的复选框组件
JComBox代表下拉列表框,可以在下拉显示区域显示多个选项
JFrame代表Swing的框架类
JDialog代表Swing版本的对话框
JLabel代表Swing中的标签组件
JRadioButton代表Swing的单选按钮
JList代表能够在用户界面中显示一系列条目的组件
JTextField代表文本框
JPasswordField代表密码框
JTextArea代表Swing中的文本区域
JOptionPane代表Swing中的一些对话框

         示例展示:

                1.JButton 按钮组件

                2.JCheckBox 复选框组件 

 

                3. JComBox 下拉列表框组件

                4. JFrame 窗体组件

                5. JDialog 对话框组件

  

                 6.JLabel 标签组件

                7. JRadioButton 单选按钮组件

                8. JList 显示条目组件

                9. JTextField 文本框

                10. JPasswordField 密码框组件

                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​   

                11. JTextArea 文本域组件

                12. JOptionPane 对话框组件


总结

        以上就是对java语言中Swing程序设计的概述,以及Swing常用组件的简单介绍。更加详细的内容过于繁多,博主将会后续的博客中一,一进行详细的介绍。欢迎在评论区中留言指正,补充。

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

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

相关文章

Java创建对象的几种方式

在Java中,对象是程序中的一种基本元素,它通过类定义和创建。本篇教程旨在介绍Java中创建对象的几种方式,包括使用new关键字、反射、clone、反序列化等方式。 使用new关键字创建对象 在Java中,最常用的创建对象方式是使用new关键…

Linux笔试题(4)

67、在局域网络内的某台主机用ping命令测试网络连接时发现网络内部的主机都可以连同,而不能与公网连通,问题可能是__C_ A.主机ip设置有误 B.没有设置连接局域网的网关 C.局域网的网关或主机的网关设置有误 D.局域网DNS服务器设置有误 解析:在局域网络内的某台主…

ACE内存池管理器积累

源起 近来由于研究ACE内存分配的组件,想做一个应用程序级的内存管理,有人还想自己写一个,我觉得可以直接用ACE自己提供的内存管理器,避免重复发明轮子。 结合以前认识,和前辈们的积累,觉得可以记下来一些…

【AutoLayout案例3 Objective-C语言】

一、咱们接下来,再把这个案例实现一下 1.要求, 1)在控制器的顶部,有两个UIView,一个是蓝色View,一个是红色View 2)这两个UIView的高度,永远是相等的,蓝色和红色的高度是相等的,都是50 3)红色View和蓝色View,是右对齐的 4)蓝色View,距离父控件的左边、上边、右…

双指针算法实例1(移动零)

常⻅的双指针有两种形式: 1 对撞指针(左右指针): a 对撞指针从两端向中间移动。⼀个指针从最左端开始,另⼀个从最右端开始,然后逐渐往中间逼 近 b 终止条件一般是两指针相遇or错过(也可能在循…

VMWare Workstation 网络设置 桥接模式 网络地址转换(NAT)模式 仅主机模式

文章目录 网络模式配网要求CentOSDHCP虚拟网络桥接模式默认配置测试手动配置测试 网络地址转发模式 (NAT) 网络模式 桥接模式: 主机与虚拟机对等, 虚拟机注册到主机所在的局域网, 会占用该网络的IP该局域网内的所有机器, 包括主机和其他机器和所有虚拟机, 均可互相访问 网络地…

ElasticSearch索引库、文档、RestClient操作

文章目录 一、索引库1、mapping属性2、索引库的crud 二、文档的crud三、RestClient 一、索引库 es中的索引是指相同类型的文档集合,即mysql中表的概念 映射:索引中文档字段的约束,比如名称、类型 1、mapping属性 mapping映射是对索引库中文…

ORA-600 ksuloget2 恢复----惜分飞

客户在win 32位的操作系统上调至sga超过2G,数据库运行过程中报ORA-600 ksuloget2错误 Thread 1 cannot allocate new log, sequence 43586 Checkpoint not complete Current log# 1 seq# 43585 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO01.LOG Fri Aug 04 14:57:02 2023 Errors i…

正则表达式:贪婪与非贪婪模式

正则中的三种模式,贪婪匹配、非贪婪匹配和独占模式。 在这 6 种元字符中,我们可以用 {m,n} 来表示 (*)()(?) 这 3 种元字符: 贪婪模式,简单说就是尽可能进行…

激活函数总结(十三):Tanh系列激活函数补充(LeCun Tanh、TanhExp)

激活函数总结(十三):Tanh系列激活函数补充 1 引言2 激活函数2.1 LeCun Tanh激活函数2.2 TanhExp激活函数 3. 总结 1 引言 在前面的文章中已经介绍了介绍了一系列激活函数 (Sigmoid、Tanh、ReLU、Leaky ReLU、PReLU、Swish、ELU、SELU、GELU、…

pytorch 42 C#使用onnxruntime部署内置nms的yolov8模型

在进行目标检测部署时,通常需要自行编码实现对模型预测结果的解码及与预测结果的nms操作。所幸现在的各种部署框架对算子的支持更为灵活,可以在模型内实现预测结果的解码,但仍然需要自行编码实现对预测结果的nms操作。其实在onnx opset===11版本以后,其已支持将nms操作嵌入…

2.基于SpringBoot3集成SpringDoc Swagger3

1. 引入依赖 我们在build.gradle中引入依赖 implementation org.springdoc:springdoc-openapi-starter-webmvc-ui:2.1.0 implementation org.springdoc:springdoc-openapi-starter-webmvc-api:2.1.02. 新增SpringDocConfig.java文件 Configuration public class SpringDocCo…

ElasticSearch 数据聚合、自动补全(自定义分词器)、数据同步

文章目录 数据聚合一、聚合的种类二、DSL实现聚合1、Bucket(桶)聚合2、Metrics(度量)聚合 三、RestAPI实现聚合 自动补全一、拼音分词器二、自定义分词器三、自动补全查询四、实现搜索款自动补全(例酒店信息&#xff0…

【图论】最短路的传送问题

一.分层图问题(单源传送) (1)题目 P4568 [JLOI2011] 飞行路线 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) (2)思路 可知背景就是求最短路问题,但难点是可以使一条路距离缩短至0&#xf…

excel逻辑函数篇2

1、IF(logical_test,[value_if_true],[value_if_false]):判断是否满足某个条件,如果满足返回一个值,如果不满足则返回另一个值 if(条件,条件成立返回的值,条件不成立返回的值) 2、IFS(logical_test1,value_if_true1,…):检查是否…

虚拟机问题

虚拟机无法识别USB设备 经排查为VMware USB Arbitration Service 没有启动,但是VMware USB Arbitration Service依赖于VMware Workstation Server启动 VMware USB Arbitration Service(VMUSBArbService)是由 VMware 虚拟化软件提供的一个服务,用于协调和管理主机系统上的…

每日一题——接雨水(单调栈)

接雨水——单调栈 题目链接 单调递增的栈还是单调递减的栈 我们常说的**”积水成洼“**,指的就是说:当两边地势高于中间的地势时,中间的区域就成了洼地,也就可以积水了。 这一题就是如此,我们需要通过一个栈来记录数…

UE4中关于利用粒子系统做轨迹描绘导致系统流畅性下降的问题

UE4中关于利用粒子系统做轨迹描绘导致系统流畅性下降的问题 文章目录 UE4中关于利用粒子系统做轨迹描绘导致系统流畅性下降的问题前言假设及验证1. 过多的粒子发射器影响仿真系统2. 粒子数目太多,降低粒子发射频率,同时增大粒子显示范围3. 把信息输出到屏…

揭秘程序员的鄙视链,你在哪一层?看完我想哭

虽然不同的编程语言都有其优缺点,而且程序员之间的技能和能力更加重要,但是有些程序员可能会因为使用不同的编程语言而产生鄙视链。 以下是一些可能存在的不同编程语言程序员之间的鄙视链: 低级语言程序员鄙视高级语言程序员:使用…

Java教程:如何使用切面环绕方法对所有接口进行添加出入参日志保存功能

背景: ----在很多时候我们做开发时,往往只是提供一个对外接口来进行前后端调试,或第三方系统联调,并使用log进行日志打印,每当出现问题进行排查时,只需要查看服务器日志就可以定位到问题,从而解…