就我个人的理解,AWT处理用户界面元素的方式是把要建立的元素指派给目标运行平台上自带的GUI工具包,就比如说,在一个窗口中放一个文本框,实际上是由一个隐藏的底层文本框来进行文本处理的。这样开发出来的应用程序就可以运行在各个平台上,这也是Sun公司引以为豪的“Write once,run everywhere‘。这种思路对于简单的应用程序是十分有效的,但想用它来编写依赖于各个平台自带的GUI工具,却有高度的可移植性的GUI应用程序是比较困难的。因为用户界面元素在各个不同平台上表现出来的外观和行为可能会有一些不同之处,这样就会给用户带来不一致的用户体验,再者,考虑到各个平台的差异性以及可移植性的需要,就不得不对基于本地平台的对等实体的可移植库进行限制。除次以外,不同平台上的AWT库中有各种不同的bug,这就出现了一句名言来形容java---“write once,debug everywhere); |
|