目录
背景:
代码展示:
代码详解:
AWT和Swing的区别:
总结:
背景:
在Java中,AWT(Abstract Windows Toolkit)是最早的图形月用户界面(GUI1)工具包,虽然随着Swing的出现,AWT的使用有所减少,但了解AWT基础知识对于理解Java GUI编程仍然非常重要。本文将通过一个简单的示例,展示如何使用AWT创建一个基本的窗口应用。
代码展示:
import java.awt.*; public class TestFrame { // 定义main方法,这是Java程序的入口点 public static void main(String args[]) { // 创建一个新的Frame对象,并设置其标题"My First Test" Frame f = new Frame("My First Test"); // 设置窗口在屏幕上的位置 f.setLocation(300, 300); // 设置窗口的大小为170像素宽和100像素高 f.setSize(170, 100); // 设置窗口的背景颜色为蓝色 f.setBackground(Color.blue); // 设置窗口不可调整大小 f.setResizable(false); // 使窗口可见 f.setVisible(true); }
}
代码详解:
1.导入java.awt包,它包含了AWT框架的所有类和接口
import java.awt.*;
2.定义名为TestFrame的公共类,这是程序的主要组成部分。
public class TestFrame { // ...
}
3. min方法是java程序的入口点。当程序运行时,首先执行main方法中的代码
public static void main(String args[]) { // ...
}
4.创建Frame对象(代表一个窗口),并设置了其标题"My First Test"
Frame f = new Frame("My First Test");
5.设置窗口位置,通过调用setLocaton,设置了窗口在屏幕上的位置,(像素为单位)。
f.setLocation(300, 300);
6.设置窗口大小,通过调用setSize方法
f.setBackground(Color.blue);
7.设置窗口背景颜色
f.setBackground(Color.blue);
8.设置窗口是否可调整大小,通过调用setResizable
f.setResizable(false);
9.使窗口可见,调用setVisible方法
f.setVisible(true);
AWT和Swing的区别:
特性 | AWT | Swing |
---|---|---|
基础 | - Java GUI的早期版本 | - 基于AWT的扩展和增强 |
设计理念 | - 基于对象的设计理念 | - 基于组件的设计理念 |
组件丰富性 | - 提供较少的组件 | - 提供更多的组件和更高的可定制性 |
性能 | - 相对较低,因为直接调用本地GUI库 | - 更好,使用双缓冲技术减少闪烁和重绘问题 |
可用性 | - 功能相对较少 | - 提供更多的组件和更好的可用性 |
跨平台性 | - 可以跨平台,但外观和感觉可能不同 | - 更好的跨平台性,因为使用了操作系统的本地界面(Look and Feel) |
更新和维护 | - 已经逐渐被废弃,不再进行更新和维护 | - 是Java SE的一部分,持续更新和维护 |
编程风格 | - 类似于本地GUI编程 | - 更符合Java编程风格,更易于理解和使用 |
高级功能 | - 不支持一些高级功能,如动画效果、3D绘图和多媒体 | - 支持更多高级功能 |
示例类 | - Frame (窗口类) | - JFrame (窗口类) |
布局管理器 | - 类似BorderLayout 、FlowLayout 等 | - 包括AWT的所有布局管理器,并增加了更多选择 |
事件处理 | - 使用AWT的事件处理模型 | - 使用Swing的事件处理模型,通常与AWT兼容但更强大 |
样式和外观 | - 依赖于本地GUI库的样式和外观 | - 可以选择使用本地样式(如Metal、System等)或自定义样式 |
选择。
总结:
我们展示了如何使用java AWT创建一个简单的窗口应用。虽然AWT已经被Swing所取代,但了解AWT的基础知识仍然有助于我们更好地理解Java GUI编程的基本概念。总的来说,Swing在AWT的基础上进行了许多改进和增强,提供了更多的功能和更好的性能,因此在开发新的Java GUI应用程序时,Swing通常是更好的