有人能给我解释一下Swing和AWT的区别吗?

在某些情况下,AWT比swing更有用/更被建议使用,或者反之亦然?


当前回答

AWT 1。AWT占用更多的内存空间 2。AWT依赖于平台 3.AWT需要javax。awt包

波动 1。Swing占用较少的内存空间 2。Swing组件是平台独立的 3.Swing需要javax。摇摆不定的包

其他回答

AWT和Swing之间的这种差异导致了几个后果。

AWT is a thin layer of code on top of the OS, whereas Swing is much larger. Swing also has very much richer functionality. Using AWT, you have to implement a lot of things yourself, while Swing has them built in. For GUI-intensive work, AWT feels very primitive to work with compared to Swing. Because Swing implements GUI functionality itself rather than relying on the host OS, it can offer a richer environment on all platforms Java runs on. AWT is more limited in supplying the same functionality on all platforms because not all platforms implement the same-looking controls in the same ways.

Swing组件被称为“轻量级”,因为它们不需要 来实现它们的功能。JDialog和JFrame是 重量级的,因为他们有对手。比如JButton, JTextArea等是轻量级的,因为它们没有操作系统对等体。

对等体是操作系统提供的小部件,例如 按钮对象或输入字段对象。

AWT 1。AWT占用更多的内存空间 2。AWT依赖于平台 3.AWT需要javax。awt包

波动 1。Swing占用较少的内存空间 2。Swing组件是平台独立的 3.Swing需要javax。摇摆不定的包

摇摆不定:

Swing是java基础类的一部分。 Swing组件是独立于平台的。 Swing组件是轻量级组件,因为Swing位于awt的顶部。

AWT:

AWT被称为抽象窗口工具。 AWT组件是平台相关的。 AWT组件是重量级组件。

Java 8

摇摆不定的

它是Java基础类的一部分 Swing是建立在AWT之上的 Swing组件是轻量级的 Swing支持可插入的外观和感觉 平台无关的 采用MVC:模型-视图-控制器架构 包:javax.swing 与Swing的其他组件不同, 它们是轻量级的,顶级容器是重量级的。

AWT -抽象窗口工具包

平台的依赖 AWT组件是重量级的 包java.awt

Swing组件提供了非常灵活的用户界面,因为它 遵循模型视图控制器(mvc)。 Awt不是基于MVC的。 Swing工作更快。 Awt的工作速度并不快。 摆动部件重量轻。 Awt组件重量很重。 Swing占用较少的内存空间。 Awt占用较多内存空间。 Swing组件是平台独立的。 Awt依赖于平台。 Swing require javax。摇摆不定的包。 Awt需要javax。awt包。