Java使用AWT和Swing类完成图形用户界面编程,其中 AWT的全称是抽象窗口工具集。在java.awt包中提供了两种基类表示图形界面元素:Component和MenuComponent,其中Component代表一个能以图形化方式显示出来,并可与用户交互的对象;而MenuComponent则代表图形界面的菜单组件,包括MenuBar,Menultem等子类。

容器(Container)是Component的子类,因此容器对象本身也是一个组件,具有组件的所有性质,可以调用Component类的所有方法。

ScrollPane是一个带滚动条的容器,它也不能独立存在,必须被添加到其他容器中。

GridLayout布局管理器将容器分割成纵横线分隔的网格,每个网格所占的区域大小相同。当向使用GridLayout布局管理器的容器中添加组件时,默认从左向右、从上向下依次添加到每个网格中。

CardLayout布局管理器以时间而非空间来管理它里面的组件,它将加入容器的所有组件看成一叠卡
片,每次只有最上面的那个Component 才可见。
BoxLayout指定创建基于target容器的BoxLayout布局管理器。
Button:按钮,可接受单击操作。
Canvas:用于绘图的画布。
Checkbox:复选框组件(也可变成单选框组件)。
CheckboxGroup:用于将多个Checkbox组件组合成一组,一组Checkbox 组件将只有一个可以被选中
Choice:下拉式选择框组件。
Frame:窗口,在GUI程序里通过该类创建窗口。
Dialog 是Window类的子类,是一个容器类,属于特殊组件。对话框是可以独立存在的顶级窗口,因此用法与普通窗口的用法几乎完全一样。

Event Source(事件源):事件发生的场所,通常就是各个组件,例如按钮、窗口、菜单等Event(事件):事件封装了GUI组件上发生的特定事情(通常就是一次用户操作)。如果程序需要获得GUI组件上所发生事件的相关信息,都通过Event对象来取得。
Event Listener(事件监听器):负责监听事件源所发生的事件,并对各种事件做出响应处理。
在 Component类里提供了和绘图有关的三个方法。paint(Graphics g):绘制组件的外观。
update(Graphics g):调用paint()方法,刷新组件外观。repaint():调用update()方法,刷新组件外观。
ImageIO利用ImageReader和 ImageWriter读写图形文件,ImagelO类包含两个静态方法: read()和 write(),通过这两个方法即可完成对位图文件的读写,调用wirte()方法输出图形文件时需要指定输出的图形格式,例如 GIF、JPEG等。