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中都已经定义好了。直接获取其对象来用就可以了。我们要做的事情是,就是对产生的动作进行处理。