Java中的AWT和Swing有什么区别

目录:

Anonim

主要区别 Java 中的 AWT 和 Swing 之间的区别在于 AWT 是 Java 的原始平台相关窗口、图形和用户界面小部件工具包,而 Swing 是 Java 的 GUI 小部件工具包,它是 AWT 的扩展。

Java 是一种高级、通用的编程语言,支持面向对象编程、多线程、平台无关性和许多其他特性。程序员可以使用 Java 语言编写各种应用程序,包括桌面、Web、移动、图像处理等。它提供了工具包来构建丰富的图形用户界面 (GUI)。 AWT 和 Swing 就是其中的两个。

AWT、GUI、Java、Swing

什么是图形用户界面

GUI代表 图形用户界面.它是一个允许用户操作应用程序并执行所需任务的界面。此外,GUI 由各种组件组成。窗口、按钮、单选按钮、复选框、标签、下拉列表、文本字段、组合框是一些 GUI 组件。这些组件可以触发事件。例如,单击按钮后会打开一个新页面,或者用户可以输入注册详细信息并按提交按钮。大多数应用程序都有一个 GUI,允许用户与应用程序进行通信。

什么是 AWT

AWT 代表 抽象窗口工具包.它是一种用 Java 开发 GUI 或基于 Windows 的应用程序的 API。它需要一个本机 OS 对象来实现这些功能。此外,AWT 组件是重量级的,需要更多的内存空间。此外,它们需要一些时间来执行。此外,程序员必须导入 javax.awt 包来开发基于 AWT 的 GUI。按钮、滚动条、文本字段、列表、对话框和面板是一些 AWT 组件。创建对象后,它们被放置在一个容器中。此外,它还为加载组件提供了所需的空间。通常,一个操作系统中的 AWT 应用程序在另一个操作系统中可能看起来不同。

什么是摇摆

Swing 是一个用于 Java 的 GUI 小部件工具包。它建立在 AWT API 之上。此外,它是 Oracle 的 Java 基础类 (JFC) 的一部分。此外,Swing 提供标签、文本框、按钮等基本组件以及选项卡式窗格、表格和树等高级组件。因此,Swing 提供了比 AWT 更复杂的组件。在这里,程序员必须导入 javax.swing 包来编写 Swing 应用程序。该包提供了许多类,例如 JButton、JTable、JList、JTextArea 和 JCheckBox。

图 1:简单的 Java Swing 应用程序

Swing 是独立于平台的,其组件是轻量级的。此外,组件需要最小的存储空间。因此,Swing 应用程序的执行速度要快得多。开发中的一种常见设计模式是模型、视图、控制器 (MVC) 模式。 Swing 遵循这种模式。它有助于轻松维护代码。

AWT 和 Swing 的区别

定义

AWT 是 Java 中 GUI 编程所需的 GUI 组件(小部件)和其他相关服务的集合。 Swing 是 Java Foundation Classes (JFC) 的一部分,用于创建基于 Java 的前端 GUI 应用程序。因此,这解释了 Java 中 AWT 和 Swing 之间的主要区别。

类型

AWT 组件是重量级的,而 Swing 组件是轻量级的。

平台依赖

Java 中 AWT 和 Swing 之间的另一个主要区别是 AWT 是平台相关的,而 Swing 是平台无关的。

展示

成分

此外,Swing 具有比 AWT 更高级的组件。

速度

此外,AWT 的执行速度较慢。但是,Swing 执行得更快。

MVC

AWT 不支持 MVC 模式,而 Swing 支持 MVC 模式。这是 AWT 和 Swing 之间的另一个区别。

内存空间

包裹

程序员必须导入 javax.awt 包来开发基于 AWT 的 GUI。但是,程序员必须导入 javax.swing 包才能编写 Swing 应用程序。

结论

简而言之,AWT 和 Swing 是构建丰富的图形用户界面 (GUI) 的两个工具包。 Java 中的 AWT 和 Swing 之间的主要区别在于,AWT 是 Java 原始的平台相关窗口、图形和用户界面小部件工具包,而 Swing 是 Java 的 GUI 小部件工具包,它是 AWT 的扩展。

参考:

1. “AWT 概述”。 Www.tutorialspoint.com,可在此处获得。2。 “摆动概述。” Www.tutorialspoint.com,可在此处.3。 “摇摆(Java)。”维基百科,维基媒体基金会,2018 年 6 月 9 日,可在此处获取。4。 “抽象窗口工具包。”维基百科,维基媒体基金会,2018 年 8 月 26 日,可在此处获取。

图片提供:

1. Samwilson 撰写的“Java Swings Wikibook,事件处理,示例 1 屏幕截图” – 自己的作品 (CC BY-SA 3.0),来自 Commons Wikimedia

Java中的AWT和Swing有什么区别