Java's GUI (开篇)

来源:互联网 发布:淘宝店营销计划 编辑:程序博客网 时间:2024/05/08 22:38

最近在学Java的GUI部分。今天来谈谈Java的GUI方面的编程。


首先肯定要知道的两个概念是Awt和Swing。


Awt(Abstact Windowing Toolkit),译为抽象窗口工具包,是早期java提供的用来建立图形用户界面的基本工具。Awt中的图形函数与操作系统提供的图形函数有着一一对应的关系。本质上说,当你用Awt来构建图形界面时,实际上并不是用Java画出来的,而是从本地的操作系统调用或者引用过来的图形界面。由于不同的操作系统提供了不同的图形库,所以你用Awt创建了一个Button,在windows环境和Linux环境中,所呈现出来的可能就是不同的外观。并且windows里提供的某些图形函数,linux里可能还不存在。

这与Sun公司为java提出的“一次编译,到处运行”是不符的。所以为了解决这个问题,JDK1.2版本中引进了Swing。

Swing是在Awt的基础上衍生来的一套新的图形界面系统。Swing用java语言重写了Awt里面的图形函数,使与本地的操作系统再无关系。这样就符合“一次编译,到处运行”的规范了。由于Swing没有使用本地操作系统的图形库,所以称Swing为轻量级控件。


Awt与Swing的区别:

1)Awt基于本地的C/C++图形库方法,运行速度要高于纯java的Swing。

2)Awt与平台相关,Swing与平台无关。


             在嵌入式系统中,由于硬件资源的限制,高效的Awt是第一选择。但是大部分嵌入式系统开发中,很少会用java语言,C/C++永远是第一选择。毕竟java语言适用于应用程序。所以呢,就好好学Swing吧,因为这个可能用的会比较多。