GUI概述
GUI:Graphical User Interface(图形用户接口)
用图形的方式,来显示计算机操作的界面,这样更方便更直观。
CLI:Command line User Interface (命令行用户接口)
就是常见的Dos命令行操作,需要记忆一些常用的命令,操作不直观。
Java为GUI提供的对象都存在java.Awt
和javax.Swing
两个包中。
Awt和Swing
java.Awt
:Abstract Window ToolKit (抽象窗口工具包),需要调用本地系统方法实现功能,属重量级控件。
javax.Swing
:在AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现。增强了移植性,属轻量级控件。
组件继承关系
Container
:为容器,是一个特殊的组件,该组件中可以通过add 方法添加其他组件进来。
布局管理器
容器中的组件的排放方式,就是布局。
常见的布局管理器:
-
FlowLayout(流式布局管理器)
从左到右的顺序排列。
Panel默认的布局管理器。 -
BorderLayout(边界布局管理器)
东,南,西,北,中
Frame默认的布局管理器。 -
GridLayout(网格布局管理器)
规则的矩阵 -
CardLayout(卡片布局管理器)
选项卡 -
GridBagLayout(网格包布局管理器)
非规则的矩阵
建立一个简单的窗体
Container
常用子类:Window
Panel
(面板, 不能单独存在)
Window
常用子类:Frame
Dialog
事件监听机制
时间监听机制的组成:
事件源(组件)
事件(Event)
监听器(Listener)
事件处理(引发事件后处理方式)
处理流程:
- 确定事件源(容器或组件)
- 通过事件源对象的addXXXListener()方法将侦听器注册到该事件源上
- 该方法中接收XXXListener的子类对象,或者XXXListener的子类XXXAdapter的子类对象(一般用匿名内部类表示)
- 在覆盖方法的时候,方法的参数一般是XXXEvent类型的变量接收
- 事件触发后会把事件打包成对象传递给该变量。(其中包括 事件源对象。通过getSource()或者,getComponent()获取)
组件.addXXXListener(new XXXAdapter){
public void methodName(XXXEvent e){}
}