Java swing是什么?有什么作用?
在早期JDK1.0发布时,Sun公司就为GUI开发提供了一套基础类库,这套类库被称为AWT(Abstract Window Toolkit),即抽象窗口工具包。AWT的起初设想就是为了统一实现不同操作系统的图像界面,但问题是,不同操作系统图形库的功能可能不一样,在一个平台上存在的功能在另外一个平台上则可能不存在,为此AWT不得不通过牺牲功能来实现平台无关性。不仅如此,AWT还是一个重量级组件,使用比较麻烦,且设计出的图形界面不够美观功能也非常有限。为此,Sun公司对AWT进行改进,提出了Swing组件,提供了更加丰富的组件和功能,来满足GUI设计的一切需求。
Swing是一种轻量级组件,它由Java语言开发,同时底层以AWT为基础,使跨平台应用程序可以使用任何可插拔的外观风格,并且Swing可以通过简洁的代码、灵活的功能和模块化组件来创建优雅的用户界面。所以同AWT相比,在实际开发中,更多的是使用Swing进行图形用户界面开发。需要注意的是,Swing并不是AWT的替代品,而是在原有的AWT的基础上进行了补充和改进。
Swing组件为实现图形用户界面提供了很多基础类库,多数位于java.awt、javax.swing包及其子包下,在这些包下提供了实现图形用户界面的主要类。其中在java.awt包及其子包下的一些类属于原有AWT组件的底层实现,而在javax.swing包及其子包下的一些类则属于Swing后期扩展的,这也从侧面反映出Swing组件对AWT组件的依赖性,接下来通过一张图来描述Swing组件的主要类,如图1所示。
图1 Swing组件继承关系
从图1可以看出,Swing组件的所有类都继承自Container类,然后根据GUI开发的功能扩展了2个主要分支:容器分支(包括Window窗口和Panel面板)和组件分支。其中,容器分支就是为了实现图形用户界面窗口容器而设计的,而组件分支则是为了实现向容器中填充数据、元素以及人机交互组件等功能。
在Swing组件类中,常用的顶级容器类包括有JApplet、JFrame和JDialog;常用的组件类中,AbstractButton类及其子类就是用来定义按钮常见行为的工具类,JTextComponent类及其子类就是用来定义文本内容编辑区域的工具类。
Java swing是什么?有什么作用?相关推荐
- java Swing 中setVisible()的真正作用 及 位置问题
转至:https://blog.csdn.net/qq_34228570/article/details/72774088 setVisible(true);方法的意思是说数据模型已经构造好了,允许J ...
- java swing图形界面开发 java.swing简介
最近在看YouTube上面的视频的时候,虽然学着做了一点界面和一点可以运行的东西,但是里面用到的库文件我还是不明就里的.所以我打算在制作游戏之前,先花几天的时间大概地研究一下关于java.swing的 ...
- java软件字如何放大_放大Java Swing应用程序
我正在寻找放大Java Swing应用程序的方法.这意味着我想通过给定的因素来调整给定JPanel中所有组件的大小,就好像我要截取UI的屏幕截图并只是应用"图像缩放"操作一样.必须 ...
- java swing 总结_java实验之swing图形用户界面程序设计及总结
8.1组件和容器 顶层容器有小应用程序(Applet和JApplet).对话框(Dialog和JDialog).框架(Frame和JFrame).这些容器都存在于java.swing*;中. 一般容器 ...
- JAVA:Java Swing 练习题
图形界面的实现 使用Java Swing设计与编写一个账号注册的图形界面程序,要求: 使用MVC结构. 用户能够在界面输入"用户名"和"密码",且规定:用户名的 ...
- Java swing简易浏览器(其二)前进后退与收藏夹实现
[Java swing简易浏览器(其一)页面显示,超链接跳转与手动输入URL跳转] [Java swing简易浏览器(其二)前进后退与收藏夹实现] [java swing 简易浏览器(其三)下载器,智 ...
- JAVA Swing 图形化界面编程
JAVA Swing 图形化界面编程 目录 1.组件 1.1 基本组件 1.2. 组件边框 1.3. JToolBar 工具条 1.4 JColorChooser 颜色选择器 1.5 JFileCho ...
- Java Swing 设置全局的字体
Table of Contents 一.问题描述 二.找资料 1.Swing技巧. 设置全局字体(sun jdk) 2.java swing 界面统一设置字体样式 三.尝试解决 1.使用默认的字体(即 ...
- 【java毕业设计】基于java+swing+Eclipse的俄罗斯方块游戏GUI设计与实现(毕业论文+程序源码)——俄罗斯方块游戏
基于java+swing+Eclipse的俄罗斯方块游戏GUI设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+swing+Eclipse的俄罗斯方块游戏GUI设计与实现,文章末尾 ...
最新文章
- 计算机基础知识掌握欠缺,《计算机基础知识》实验教学改革探讨.pdf
- 写给非技术人员的机器学习指南
- 全1的向量与行向量或列向量相乘,实质上是作行复制或列复制!
- Cisco认证(CCNA,CCNP,CCIE)体系中文书籍全集书籍
- hdu4807枚举费用流
- bzoj1691 [Usaco2007 Dec]挑剔的美食家
- 【Intellij IDEA系列】IDEA泛型处理Unchecked assignment:'java.util.Map' to 'java.util.Maplt;'
- 【Java8】堆栈/队列/数组/链表/红黑树,List/set子接口,hashcode/hashset,Map/内部接口,/统计字符个数,debug,斗地主,Collections,TreeSet
- How to install Toad on linux with Corssover
- dom4kj解析xml
- multiple context container - entry point for tile click
- 有了容器为什么kubernetes还需要Pod?
- 网站如何快速搭建即时响应客服系统
- 企业管理系统原型、HRM、工作报告统计、0A、商机、合同、客户管理、产品管理、企业oa、行政办公系统、数据报表、销售分析、客户分析、产品管理、人力资源管理系统、crm、axure原型、rp源文件
- Tensorflow自编码器及多层感知机
- 算法:整数除法上取整
- 氚云无代码搭建学习记录
- Bike Sharing Demand
- BDWK免费下载白嫖指南【1s搞定】
- Hive实现:1、获取每个人最高分对应的学科和分数(学生最高分);2、获取每门课程都高于平均分的人、课程和分数(三好学生:每科高于平均分);3、获取每个学科都及格(即不低于60分)的学生