Java界面设计的用途
javaSE可以理解成java桌面版。
java的图形界面工具包gui工具包。
用java做的桌面软件:某些版本的PS,思维导图软件,Eclipse,IDEA等。
开发者也可以使用java为自己设计一些提高效率的工具软件,帮助自己处理机械性的工作。
java的GUI工具包包括AWT,Swing和SWT。
AWT简介
abstract windows toolkit是最原始的java gui工具包。
优点:
- 在java技术的每个版本上的标准配置,不需要单独安装这个工具包,在任何一个java运行环境下都可以使用。
- 非常稳定
缺点:
- 组件有限。sun公司决定为awt使用一种最小公分母LCD的方法,在awt中只有所有java主机环境中定义的gui组件。
- awt依赖主机gui的peer控件,其中每一个awt组件都有一个并行的主机控件来实现这个gui。awt控件外观在不同主机上不同。
Swing简介
Java Swing是Java Foundation Classes JFC的一部分,他是师徒解决awt缺点的一个尝试。在Swing中,Sun开发了一个经过仔细设计的,灵活而强大的gui工具包。Swing实在awt组件基础上构建的。Swing使用了AWT的事件模型和支持类,例如Colors,Images和Graphics。Swing组件,布局管理器以及事件,比awt的更加广泛。
为了克服在不同主机上行为也会不同的缺点,Swing将对主机控件的依赖性降到了最低。Swing只为窗口和框架之类的顶层组件使用peer,大部分组件(Jcomponent及其子类)都是使用纯Java代码来模拟的,这样Swing就可以在所有主机之间很好的移植。
Swing的优势
- Swing对基于peer的组件使用的术语是heavyweight,对于纯java模拟的组件使用的术语是lightweight。实际上,Swing可以支持在一个gui中混合使用heavyweight和lightweight组件,例如在一个JContainer中混合使用awt和swing组件。
- 基于mvc结构
- 可编程外观
- 呈现器与编辑器
- 支持以任意顺序构建gui
- 可访问性
- 支持自动销毁
- 是标准java的一部分