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

文章目录

  • 前言
  • 一、什么是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.rhkb.cn/news/97238.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ClickHouse AST is too big 报错问题处理记录

ClickHouse AST is too big 报错问题处理记录 问题描述问题分析解决方案1、修改系统配置2、修改业务逻辑 问题描述 项目中统计报表的查询出现 AST is too big 问题,报错信息如下: 问题分析 报错信息显示 AST is too big。 AST 表示查询语法树中的最大…

pycharm调整最大堆发挥最大

python程序运行时,怎么提高效率,设置pycharm最大堆过程如下; 一、进入设置pycharm最大堆; 二、进入设置pycharm最大堆; 如果8g设置为6g左右,占75%左右最佳

自动驾驶港口车辆故障及事故处理机制

1、传感器故障: (1)单一传感器数据异常处理。自动驾驶电动平板传感方案为冗余设置,有其他传感器能够覆盖故障传感器观测区域,感知/定位模块将数据异常情况发给到规划决策模块,由“大脑”向中控平台上报故障…

mac m1上系统内录内部声音的方法/无需安装Blackhole

总所周知,m1的mac不能录制桌面音频,obsstudio都不行。 最快的解决方法就是下载飞书: 登陆后新建直播/视频会议: 共享的时候选择下面的两个钩上去就好了

野火i.mx 6ull上手

目录 屏幕驱动打印信息 实现触摸屏校验 开发板连接WIFI 连接操作 申请路由器动态IP和ping网络通断 WiFi信息保存位置 常用wifi操作(wpa_cli工具) NFS网络文件系统共享 虚拟机安装NFS服务器 开发板安装NFS客户端 控制开发板 找出硬件设备所对…

n5173b是德科技keysight N5173B信号发生器

产品概述 是德科技/安捷伦N5173B EXG模拟信号发生器 当您需要平衡预算和性能时,是德科技N5173B EXG微波模拟信号发生器是经济高效的选择。它提供解决宽带滤波器、放大器、接收机等参数测试的基本信号。执行基本LO上变频或CW阻塞,低成本覆盖13、20、31.…

Python土力学与基础工程计算.PDF-螺旋板载荷试验

python 求解代码如下: 1. import numpy as np 2. 3. # 已知参数 4. p_a 100 # 标准压力, kPa 5. p np.array([25, 50, 100, 200) # 荷载, kPa 6. s np.array([2.88, 5.28, 9.50, 15.00) / 10 # 沉降量, cm 7. D 10 # 螺旋板直…

在Windows Server 2008上启用自动文件夹备份

要在Windows Server 2008上启用自动文件夹备份,您可以使用内置的Windows备份功能。下面是如何设置它的方法: 1. 点击“开始”按钮并选择“服务器管理器”,打开“服务器管理器”。 2. 在“服务器管理器”窗口中,单击左侧窗格中的“…

kafka-- kafka集群 架构模型职责分派讲解

一、 kafka集群 架构模型职责分派讲解 生产者将消息发送到相应的Topic,而消费者通过从Topic拉取消息来消费 Kafka奇数个节点消费者consumer会将消息拉去过来生产者producer会将消息发送出去数据管理 放在zookeeper

【C# 基础精讲】异步和同步的区别

异步(Asynchronous)和同步(Synchronous)是在编程中经常遇到的两种执行模式。它们涉及到程序中任务的执行方式以及对资源的管理方式。在本文中,我们将深入探讨异步和同步的区别、使用场景以及在 C# 中如何实现异步编程。…

git merge规则

参考文档:https://juejin.cn/post/7129333439299321887 丹尼尔:Hi,蛋兄,周杰伦都出新专辑了,你咋还不更新啊,真的打算半年一更啊? 蛋先生:好像确实是这样,要不&#xff0…

threejs使用gui改变相机的参数

调节相机远近角度 定义相机的配置: const cameraConfg reactive({ fov: 45 }) gui中加入调节fov的方法 const gui new dat.GUI();const cameraFolder gui.addFolder("相机属性设置");cameraFolder.add(cameraConfg, "fov", 0, 100).name(…

python:tkinter + cef 模仿 mdict 界面

cefpython3 其上游是C开发的CEF(基于webkit、V8), CEF 即 (Chromium Embedder Framework), 是基于Google Chromium项目的开源 Web browser控件(WebView)。 可查看github文档:cefpython api pip install cefpython3 c…

车载APP软件外包开发流程

车载APP的开发流程涉及多个阶段,从概念到发布都需要仔细的规划和执行。以下是一个一般性的车载APP开发流程概述,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.需求分析和规划&#xff…

vulnhub靶机DarkHole_2

靶机下载地址:DarkHole: 2 ~ VulnHub 靶机发现 arp-scan -l 扫描端口 nmap --min-rate 10000 -p- 192.168.21.145 扫描服务 nmap -sV -sT -O -p22,80 192.168.21.145 漏洞扫描 nmap --scriptvuln -p22,80 192.168.21.145 这里有git源码泄露 git clone mirrors…

x.view(a,b)及x = x.view(x.size(0), -1) 的理解说明

x.view()就是对tensor进行reshape: 我们在创建一个网络的时候,会在Foward函数内看到view的使用。 首先这里是一个简单的网络,有卷积和全连接组成。它的foward函数如下: class NET(nn.Module):def __init__(self,batch_size):sup…

1.flink快速入门

前言 下图表示的是一个简单的flink-job的计算图,这种图被称为DAG(有向无环图),表示的这个任务的计算逻辑,无论是spark、hive、还是flink都会把用户的计算逻辑转换为这样的DAG,数据的计算按照DAG触发,理论上只要构建出…

Seaborn数据可视化(一)

目录 1.seaborn简介 2.Seaborn绘图风格设置 21.参数说明: 2.2 示例: 1.seaborn简介 Seaborn是一个用于数据可视化的Python库,它是建立在Matplotlib之上的高级绘图库。Seaborn的目标是使绘图任务变得简单,同时产生美观且具有信…

【脚本推荐】网页字体渲染插件

下图是三种网页字体增强的效果对比。 **SUM:**前面两个都是通过脚本运行,而最后一个是通过扩展插件;中间的脚本(字体渲染)效果是最好的,可惜输入框没有效果,也就意味着如果现在网页上写写学习笔…

2023最新版本~KEIL5使用C++开发STM32

先看效果 开始教学 因为是第一次写这个配置教程 我会尽量详细些 打开一个Keil工程 移除本地core 添加在线core 第一次编译代码 不会有报错 修改main.c文件类型为C 点击魔术棒 把ARM编译器修改为V6 第二次编译会报错语法不兼容 我把汇编部分的这些代码做了…