1. GUI概念
1.1 什么是GUI
- GUI是Graphical User Interface的缩写,图形化用户界面
1.2 awt和swing
- Java为GUI提供的对象都存在java.awt,javax.swing两个包中
- awt依赖于本地系统平台,如颜色样式显示
- swing跨平台
1.3 组件与容器
- 组件 Component,是GUI图形界面的组成单元。
- 容器Container,可以存放组件,也可以存放容器
1.4 组件关系继承图
2. 布局管理
2.1 FlowLayout(流式布局管理器)
从左到右的顺序排列。
2.2 BorderLayout(边界布局管理器)
东,南,西,北,中
2.3 GridLayout(网格布局管理器)
规则的矩阵
2.4 CardLayout(卡片布局管理器)
选项卡
2.5 GridBagLayout(网格包布局管理器)
非规则的矩阵
3. 建立一个窗体
- 窗体中可以存放各种组件,所以窗体是容器Container。创建时我们使用的是它的子类
- Container的常用子类有两个,Window和Panel。Window是我们常用的窗体,Panel是用来布局的不可见的。
- Window也有两个常用子类,Frame和Dialog。Frame是我们常用的带有标题和边框的顶层窗口,Dialog是对话框。
- 所有AWT包中的类都会运行在AWT线程上
4. 事件处理
4.1 事件处理机制
- 事件:用户对组件的一个操作
- 事件源:发生事件的组件。
- 监听器:我们需要处理某个事件,就需要在发生事件的组件上添加监听器,也就是java.awt.event包中XxxListener接口的子类。
- 事件处理器:监听器中的方法。监听器被添加在组件上之后,组件上发生了对应事件就会执行指定方法。
4.2 常用事件分类
- 窗体事件,WindowEvent,窗体打开、关闭、正在关闭、激活、最小化等。
- 鼠标事件,MouseEvent,鼠标按下、抬起、进入、移出等。
- 键盘事件,KeyEvent,键盘按下、抬起等
- 动作事件,ActionEvent,在某一组件上发生了定义好的动作,例如按钮上鼠标点击或按空格,菜单上鼠标点击或按回车等。
4.3 创建图形化界面:
- 创建frame窗体。
- 对窗体进行基本设置。
- 比如大小,位置,布局。
- 定义组件。
- 将组件通过窗体的add方法添加到窗体中。
- 让窗体显示,通过setVisible(true)
事件监听机制的特点:
- 事件源。
- 事件源:就是awt包或者swing包中的那些图形界面组件。
- 事件。
- 事件:每一个事件源都有自己特有的对应事件和共性事件。
- 监听器。
- 监听器:将可以触发某一个事件的动作(不只一个动作)都已经封装到了监听器中。
- 事件处理。
以上三者,在java中都已经定义好了。直接获取其对象来用就可以了。我们要做的事情是,就是对产生的动作进行处理。