一、基本术语解惑
GUI:Graphic user Interface 图形用户界面又称图形用户接口;
AWT:Abstract Window Toolkit 抽象窗口工具集;
javax:刚看到这个单词很奇怪java和javax都是java API的包java是核心包,javax是扩展包,java类库是java发布之初就发布的基础库,而javax类库则是在上面增加的一层东西,就是为了保持版本兼容要保存原来的,但有些东西有了更好的解决方案;
组件:(component):图形用户界面的基本组成元素,凡是能够以图形化方式显示在桌面并能与用户交互的对象均为组件如
菜单、按钮、文本框、滚动条、标签等;
容器:是一类特殊的组件,专门用来存放其他组件的;组件通常不能独立的显示出来,必须将组件存放在容器中才可以显示出来。
AWT与Swing的区别和联系:
1、AWT是窗口框架,他从不同平台的操作系统抽取出共同组件当程序运行时将组件的创建和动作委托给程序运行所在的平台,简而言之,当使用AWT编写图形应用时,程序只指定了界面组件的位置和行为并未提供真正的实现JVM调用操作系统本地的图形界面来创建和平台一致的对等体。
2、swing并没有完全取代AWT,而是建立在AWT基础上,swing提供了更强大的用户界面组件,即使完全使用swing编写的GUI程序任然要用到AWT的时间处理机制,swing组件完全是用java来完成程序的编写的,不在以来与本地平台的GUI因此在所有的平台上都能保持相同的外观。
3、AWT只能使用各种平台上GUI的交集而swing则不使用,swing提供了大量图形界面组件远远超过了AWT。
swing使用java实现不调用本地平台GUI所以显示速度慢一点但也因此不产生与平台有关的bug;
二、图形组件的继承关系