在早期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是什么?有什么作用?相关推荐

  1. java Swing 中setVisible()的真正作用 及 位置问题

    转至:https://blog.csdn.net/qq_34228570/article/details/72774088 setVisible(true);方法的意思是说数据模型已经构造好了,允许J ...

  2. java swing图形界面开发 java.swing简介

    最近在看YouTube上面的视频的时候,虽然学着做了一点界面和一点可以运行的东西,但是里面用到的库文件我还是不明就里的.所以我打算在制作游戏之前,先花几天的时间大概地研究一下关于java.swing的 ...

  3. java软件字如何放大_放大Java Swing应用程序

    我正在寻找放大Java Swing应用程序的方法.这意味着我想通过给定的因素来调整给定JPanel中所有组件的大小,就好像我要截取UI的屏幕截图并只是应用"图像缩放"操作一样.必须 ...

  4. java swing 总结_java实验之swing图形用户界面程序设计及总结

    8.1组件和容器 顶层容器有小应用程序(Applet和JApplet).对话框(Dialog和JDialog).框架(Frame和JFrame).这些容器都存在于java.swing*;中. 一般容器 ...

  5. JAVA:Java Swing 练习题

    图形界面的实现 使用Java Swing设计与编写一个账号注册的图形界面程序,要求: 使用MVC结构. 用户能够在界面输入"用户名"和"密码",且规定:用户名的 ...

  6. Java swing简易浏览器(其二)前进后退与收藏夹实现

    [Java swing简易浏览器(其一)页面显示,超链接跳转与手动输入URL跳转] [Java swing简易浏览器(其二)前进后退与收藏夹实现] [java swing 简易浏览器(其三)下载器,智 ...

  7. JAVA Swing 图形化界面编程

    JAVA Swing 图形化界面编程 目录 1.组件 1.1 基本组件 1.2. 组件边框 1.3. JToolBar 工具条 1.4 JColorChooser 颜色选择器 1.5 JFileCho ...

  8. Java Swing 设置全局的字体

    Table of Contents 一.问题描述 二.找资料 1.Swing技巧. 设置全局字体(sun jdk) 2.java swing 界面统一设置字体样式 三.尝试解决 1.使用默认的字体(即 ...

  9. 【java毕业设计】基于java+swing+Eclipse的俄罗斯方块游戏GUI设计与实现(毕业论文+程序源码)——俄罗斯方块游戏

    基于java+swing+Eclipse的俄罗斯方块游戏GUI设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+swing+Eclipse的俄罗斯方块游戏GUI设计与实现,文章末尾 ...

最新文章

  1. 计算机基础知识掌握欠缺,《计算机基础知识》实验教学改革探讨.pdf
  2. 写给非技术人员的机器学习指南
  3. 全1的向量与行向量或列向量相乘,实质上是作行复制或列复制!
  4. Cisco认证(CCNA,CCNP,CCIE)体系中文书籍全集书籍
  5. hdu4807枚举费用流
  6. bzoj1691 [Usaco2007 Dec]挑剔的美食家
  7. 【Intellij IDEA系列】IDEA泛型处理Unchecked assignment:'java.util.Map' to 'java.util.Maplt;'
  8. 【Java8】堆栈/队列/数组/链表/红黑树,List/set子接口,hashcode/hashset,Map/内部接口,/统计字符个数,debug,斗地主,Collections,TreeSet
  9. How to install Toad on linux with Corssover
  10. dom4kj解析xml
  11. multiple context container - entry point for tile click
  12. 有了容器为什么kubernetes还需要Pod?
  13. 网站如何快速搭建即时响应客服系统
  14. 企业管理系统原型、HRM、工作报告统计、0A、商机、合同、客户管理、产品管理、企业oa、行政办公系统、数据报表、销售分析、客户分析、产品管理、人力资源管理系统、crm、axure原型、rp源文件
  15. Tensorflow自编码器及多层感知机
  16. 算法:整数除法上取整
  17. 氚云无代码搭建学习记录
  18. Bike Sharing Demand
  19. BDWK免费下载白嫖指南【1s搞定】
  20. Hive实现:1、获取每个人最高分对应的学科和分数(学生最高分);2、获取每门课程都高于平均分的人、课程和分数(三好学生:每科高于平均分);3、获取每个学科都及格(即不低于60分)的学生

热门文章

  1. React 16.8.6 发布,构建用户界面的 JavaScript 库
  2. 个人项目-小学四则运算 “软件”之初版
  3. Maven项目Spring Boot启动
  4. javascript推荐书籍
  5. 【Python】12、字典的实现
  6. 你负责选歌,索尼负责用 AI 谱出风格相似的曲子
  7. [K/3Cloud]关于数据库sa密码更改,管理中心登录不上的问题。
  8. SQL Server-流程控制 5,Goto 语句
  9. GPS小车移动应用程序
  10. 高德地图关键字搜索oc版