Java Swing 项目:属性、优势和框架
已发表: 2020-09-03Java Swing 是与 Java 编程语言相关的应用程序接口或 API。 Swing 是一组丰富的库,用于创建 GUI 或图形用户界面。 在本文中,您将清楚了解 Java Swing 是什么、Java Swing 的属性、Java Swing 相对于其他 API 的优势、Java Swing、AWT 和 SWT 之间的关系。 在深入了解 Java Swing 的细节之前,让我们首先收集一些关于 Java 和图形用户界面的必要信息。
目录
什么是 Java?
Java 是一种面向对象的编程语言,广泛用于各种目的。 当今的科技世界如此先进,我们可以从手机中获取任何信息。 甚至游戏、多任务处理和其他应用程序也可以在手机中使用。 只有底层的高级语言 Java 才有可能做到这一点。 这种语言最初是根据一个概念开发的,“一次编写,到处运行”,这意味着代码应该只编写一次,并且能够在任何设备中使用。
正是 Java 似乎通过结合“虚拟机”的概念来满足这一要求。 该机器被命名为 Java 虚拟机或 JVM。 JVM 提供了运行代码和应用程序的环境。
一旦用 Java 编写代码,它就会被转换为 Java 字节码。 相关的说,Java字节码是Java虚拟机的一种可以理解的语言。 作为 Java RUN ENVIRONMENT (JRE) 的一部分,Java 虚拟机编译代码并运行它。
除了 Android 开发和应用程序之外,Java 还用于用户界面形式,即 GUI、游戏开发、软件开发等。它是计算机科学界所知道的最重要的高级语言之一。
阅读: 10 个令人兴奋的 Python GUI 项目和初学者主题

什么是图形用户界面?
GUI 是图形用户界面的缩写形式。 它充当用户和软件之间的中介。 当软件运行时,通常会看到带有交互元素的小部件。 这称为用户界面。 用户界面的一个典型示例是登录凭证小部件。
在Java 编程语言中,用户界面的形成是由Java SWING 完成的。
揭秘 Java Swing
Java Swing 是一种 API 或应用程序接口,用于形成 Java GUI 或图形用户界面。 它是 Java 基础类 (JFC) 的组成部分。 JFC 用于创建基于窗口的应用程序。 Java Swing 完全用 Java 编写,它是 AWT 或 Abstract Windowing Toolkit 的扩展版本。
Java Swing 的属性
- Swing 属于 Java 基础类 (JFC)。 但是,它们并不完全相同。 JFC 包含一系列其他项目以及 Swing。
- Swing 主要引入了三个重大的革命性进步。 它使用更少的资源,添加了更复杂的组件,并让程序员控制它的外观。
- 可插拔的外观使程序员能够使软件在任何平台上看起来都与为同一系统设计的一样。
- Java Swing API GUI 由三个部分组成,组件、容器和布局管理器。
另请阅读: Java 项目理念
什么是 Java AWT?
AWT(Abstract Windowing Toolkit)也是一个Java GUI 形成API。 它从一开始就是默认的 GUI 形成 API。 它于 1995 年与 Java 本身一起进入市场。SWING 只是 AWT 的扩展版本。 AWT 的组件是重量级的。 在 AWT 的情况下,这些部分是特定于底层窗口系统的。
为什么要开发 Java Swing?
作为 AWT 的扩展版本,Swing 提供了更复杂的接口。 它还支持可插拔的外观。 Java Swing 的组件比 AWT 更强大、更有用。 Swing 也比它的运行组件更有优势,因为它被发现使用起来更加谨慎。 此外,Java Swing 中包含的元素比 AWT 还多。
Swing 提供了一种用户界面的外观,这在现代应用程序中很常见。 Swing 还允许程序员在应用程序的外观、本地设备或全局外观之间进行选择。
Swing 优于 AWT 的优势
- Java AWT 是平台相关的,也使用来自操作系统的资源来运行程序。 该程序在其他操作系统(如 Windows、Mac 和 Linux)中会有不同的外观和外观。
然而,Java Swing 使用与平台无关的资源,因此在每个操作系统中,例如 Windows、Mac、Linus,软件的外观都是相同的。

- Java AWT 的组件是重量级的,而 Java Swing 的元素是轻量级的。
- Java AWT 不支持可插入的外观和感觉,而 Java Swing 支持相同的外观。
- Java Swing 提供了比 Java AWT 更多的组件。 新加入的元素包括选项卡式面板、树、列表、表格、滚动窗格、颜色选择器。
- Java AWT 不遵循 MVC,而 Java Swing 遵循。
MVC是Model View Controller,其中model指的是数据,View指的是表示,Controller充当模型和视图之间的接口。
查看: Python 项目理念
Java Swing的框架
- Java 是一种独立于平台的编程语言; 因此,用 Java 编写的 Swing 独立于平台,可以在所有操作系统中运行。
- 作为一种模块化架构,Swing 允许将特定接口的许多自定义实现插入在一起。 在 Java 的继承机制的帮助下,用户可以提供他们对这些元素的自定义以覆盖默认规则。
- Swing 依赖于运行时操作和间接配置,这反过来又使它在运行时响应其设置的可变变化。 用户可以解释他们自己选择的外观,这有助于在整个应用程序中形成统一的构图分布。 具有 Swing 框架的应用程序可以在运行时热交换其 GUI。
- javax.swing.J 组件提供了 Swing 所需的所有组件。 Swing 的 MVC 模式是松耦合的。 事件侦听器以编程方式附加到数据模型对象。
容器类
为了创建一个 GUI,我们至少需要一个容器类对象。 容器类中可以包含各种组件。 主要有以下三种容器:
面板:它是一个纯粹的容器,它本身不是一个窗口。 面板的主要目的是将组件组织到一个窗口中。
框架:它是一个功能齐全的窗口,带有标题和图标。
Dialogue:可以描述为一个弹出窗口,当必须显示消息时弹出。 它不是像 Frame 那样功能齐全的窗口。
与 AWT 的关系
Abstract Window Toolkit 缩写为 AWT。 在 Java 的古老版本中,AWT 为用户界面单元提供了与平台无关的 API。 Abstract Window Toolkit有一个专长; 所有组件都由 Swing 组件管理和执行,不需要在操作系统的窗口工具包中分配本地资源。 因此,这些组件被称为轻量级组件。 另一方面,AWT 组件被视为重量级单元。
Swing API 是 AWT 的协调扩展。 Java Swing 的所有顶级单元,如 JApplet、JDialogue、JFrame 和 JWindow 都有助于扩展 AWT。 这是由于 Java Swing(轻量级)和 AWT(重量级)组件的共存而发生的。 由于 Z 顺序问题,人们不能在同一个窗口中同时使用 Swing 和 AWT 组件。
这个问题发生在 Java 6 update 10 发生时。 不过,这些问题在 Java 的较新版本中得到了解决。 从现在开始,轻量级和重量级组件可以在一个图形用户界面中一起使用。
与 SWT 的关系
SWT 是 Standard Widget Toolkit 的缩写形式。 它目前在 Eclipse 的授权下,尽管是 IBM 创建的。 Standard Widget Toolkit 的实现象征着 Abstract Widget Toolkit 的重量级单位。 这与一个潜在的古老窗口工具包的忠诚度同步。 但是,使用此模型,接触该平台的成本更高。
SWT 与 Java Swing
将 Standard Widget Toolkit 的性能与 Java Swing 进行比较引发了不少争论。 当 Java 和图形用户界面之间必须进行通信时,依赖于 Java 界面的 SWT 会变慢。 虽然,当 GUI 单独处理数据源时,它表现为一个更快的模型。 因此,根据给定的论点,无法就两者的比较得出结论性意见。

查看: Java 中的事件处理:那是什么以及它是如何工作的?
包起来
随着安卓和人性化软件市场的不断扩大,Java 也日趋谨慎。 因此,从事 Java 职业可能会确保稳定性。 Android 应用程序开发是增长最快的市场之一。 Java 开发人员是业内薪酬最高的工作之一。
开发应用程序需要为用户提供交互界面,这有助于吸引用户。 这些接口是使用 Java Swing 项目制作的。 此外,Java 对于后端开发至关重要。 简而言之,如果您愿意从事软件开发工作,建议您掌握 Java 才能茁壮成长。
随着时间的推移,技术的发展导致学习新知识的激增。 由于这个原因,Swing 对 AWT 的改进意义重大。 因此,upGrad 提供了一系列学习方法来帮助互联网上的数百万人。
如果您热衷于深入研究 Java 和全栈软件开发,请查看 upGrad 和 IIIT-B为工作专业人士设计的全栈软件开发 PG 文凭。 该课程提供超过 500 小时的严格培训、9 个以上的项目、任务和顶级公司的工作协助。
