GUI
图形程序设计
AWT
AWT是抽象窗口工具包
它提供可用的GUI基本组件
Java跨平台但GUI依赖与特定平台,AWT能提供给程序独立于平台的接口,使同一程序GUI在不同机器上有类似外观。
Swing
在AWT基础上使AWT跨平台
容器
可以容纳其他图形组件的组件
- 有范围位置和背景
- 容器内其他元素可以随容器打开关闭而显示隐藏
- 可以按照一定规则包含其他元素
- 有些容器可以套容器,有些不能比如Jfram
- 屏幕上显示的所有的组件都必须包含在某个容器中。
AWT
有两大类:Component和Menucomponent
Menucomponent
所有与菜单有关组件的父类
Component
其他所有组件的父类
Window窗体
Jframe
构造函数:
常用方法:
举例:
Panel
也是一个容器,不能单独存在,代表一个长方形区域,这个区域可以容纳其他组件,在程序中,通常会使用Panel来完成特殊的布局。
Jpanel
构造:
和Panel类似
举例:
布局管理
概述:
组件放置在容器中,布局管理决定容器中组件放置的位置和大小。
流布局管理器(FlowLayout)
边框布局管理器(BorderLayout)
将窗体分为北南西东中五个区域,每个区域只能添加一个组件,可以嵌套面板Panel是(J)Frame、(J)Dialog的默认布局。
网格布局管理器(GridLayout)
多个行与列的布局管理,所有组件宽高相同,拉大窗口组件也拉大
事件处理
概述:
- 操作环境不断地监听点击鼠标或操作按键这样的事件,报告给程序,程序进行反应。
- 监听器对象是一个实现了特定监听接口的类的实例。
- 事件源是一个能够注册监听器对象并发送事件对象的对象
- 事件发生时,事件源将事件对象传递给所有注册的监听器
- 监听器对象将利用事件对象中的信息决定如何发出响应
鼠标事件与动作
MouseEvent类捕获事件
常用方法:
静态变量:
MouseListener接口处理事件
AWT事件层次结构
AWT事件分类
语义事件:
表示用户动作事件,如:点击按钮
底层事件:
形成那些事件的事件,如点击按钮时包含的按下鼠标、连续移动鼠标、抬起鼠标