Java GUI:SWT/Swing/AWT的介绍及比较
http://tech.ddvip.com 2007年07月23日 社区交流
内容摘要:本文通过对 Eclipse 的 SWT 和 Java Swing、Abstract Windows Toolkit(AWT)GUI 工具包进行比较,可以帮助新应用程序的开发人员从中选择适当的工具。
清单 1. 基本的 AWT Class 树(全部在 java.awt 包中, “*” 表示抽象)
Object CheckboxGroup *Component Button Canvas CheckBox Choice Container Panel Applet ScrollPane Window Dialog Frame Label List TextComponent TextArea TextField MenuComponent MenuItem CheckboxMenuItem Menu PopupMenu
注意:另外几个包中还有其他一些 AWT 组件,但是这是基本的组件集。
清单 2. AWT 提供了下面的布局管理器(全部在 java.awt 包中,“*” 表示接口)
*LayoutManager FlowLayout GridLayout *LayoutManager2 BorderLayout CardLayout GridBagLayout
注意:另外几个包中还有一些 AWT 布局管理器,很多都是为它们进行布局的容器专门定制的,但是这是基本的布局管理器集。
清单 3. AWT 提供了以下事件(大部分在 java.awt.events 包中)
Object EventObject AWTEvent ActionEvent AdjustmentEvent ComponentEvent ContainerEvent FocusEvent InputEvent KeyEvent MouseEvent MouseWheelEvent PaintEvent WindowEvent HierarchyEvent InputMethodEvent InvocationEvent ItemEvent TextEvent
注意:其他几个包中还有另外一些 AWT 事件,但是这是基本的事件集。这些是从更通用的事件生成的具体事件。
通常对于 AWT 来说(也适用于 Swing 和 SWT),每个事件类型都有一个相关的 XxxListener 接口(XxxAdapter 的实现可能为空),其中 Xxx 是去掉 Event 后缀的事件名(例如,KeyEvent 事件的接口是 KeyListener),用来把事件传递给处理程序。应用程序会为自己感兴趣处理的事件的事件源(GUI 组件或部件)进行注册。有时监听接口要处理多个事件。
责编:豆豆技术应用