热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java_Swing(一)——Swing介绍

Swing是一个为Java设计的GUI工具包,是新一代的图形界面工具。Swing组件的出现是为了解决AWT组件的移植性问题,同时提供更多的企业级应用程序

Swing 是一个为Java设计的GUI工具包,是新一代的图形界面工具。Swing组件的出现是为了解决AWT组件的移植性问题,同时提供更多的企业级应用程序所需要的界面功能,Swing组件中的类主要包含在javax.swing包中,JDK1.2以后的版本都包含Swing类库。

与AWT组件不同,javax.swing包中的大部分组件是没有同位体的组件,所以简称为轻组件。(AWT组件中的类创建组件时,都有一个相应的本地组件在为它工作,称为它的同位体。AWT组件的设计原理是把显示组件和处理组件事件的工作交给同位体,因此AWT组件通常被称作重量组件。)轻组件在设计上把显示组件和处理组件事件的工作交给相应的UI代理来完成,UI代理是用java语言编写的类,系统运行时,这些类被加载到Java的运行环境中,使得组件的外观不依赖于平台,所以可以在所有平台上保持相同的运行效果,对跨平台支持比较出色。因此与重量组件相比,具有更高的性能。(注意:如果Java编程环境或Java运行环境低于JDK1.2版本,就不能使用Swing组件或运行含有Swing组件的程序。)

Swing组件的层次关系图:

从图中可以明显看出,Swing组件都是AWT组件Container类的直接子类和间接子类,Java把由Container的子类或间接子类创建的对象称为一个容器。容器是用来组织其他界面成分和元素的单元,一个应用程序的图形用户界面首先对应于一个复杂的容器,这个容器将再进一步包含它的界面成分和元素,以此类推就构成了一个复杂的图形用户界面系统。图形用户界面中的界面成分或元素又称为组件(Component),组件是一个按照一定规范编写的特殊的类,它有自己特定的功能并可作为一个单独的部分添加到程序中。容器本身也是一个组件,因此可以把一个容器添加到另一个容器中实现容器的嵌套,Java中的Swing组件既可以作为组件也可以作为容器来使用。

javax.swing包中包含近100个类和25个接口,几乎所有的Swing组件都在javax.swing包中,只有JTableHeader和JTextComponent是例外,分别在swing.table和swing.text中。


推荐阅读
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 深入解析Spring Cloud Ribbon负载均衡机制
    本文详细介绍了Spring Cloud中的Ribbon组件如何实现服务调用的负载均衡。通过分析其工作原理、源码结构及配置方式,帮助读者理解Ribbon在分布式系统中的重要作用。 ... [详细]
  • 本文详细介绍了如何使用Spring Boot进行高效开发,涵盖了配置、实例化容器以及核心注解的使用方法。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 本文详细探讨了Netty中Future及其子类的设计与实现,包括其在并发编程中的作用和具体应用场景。我们将介绍Future的继承体系、关键方法的实现细节,并讨论如何通过监听器和回调机制来处理异步任务的结果。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 深入了解 Windows 窗体中的 SplitContainer 控件
    SplitContainer 控件是 Windows 窗体中的一种复合控件,由两个可调整大小的面板和一个可移动的拆分条组成。本文将详细介绍其功能、属性以及如何通过编程方式创建复杂的用户界面。 ... [详细]
  • 实体映射最强工具类:MapStruct真香 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 网易严选Java开发面试:MySQL索引深度解析
    本文详细记录了网易严选Java开发岗位的面试经验,特别针对MySQL索引相关的技术问题进行了深入探讨。通过本文,读者可以了解面试官常问的索引问题及其背后的原理。 ... [详细]
author-avatar
刻骨铭心2502914183_610
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有