Java内置GUI Frame类


Frame概述

* 事件处理
    * 事件: 用户的一个操作
    * 事件源: 被操作的组件
    * 监听器: 一个自定义类的对象, 实现了监听器接口, 包含事件处理方法,把监听器添加在事件源上, 当事件发生的时候虚拟机就会自动调用监听器中的事件处理方法


Frame创建

Frame创建窗口步骤:1.创建Frame对象;2.设置窗体大小、位置、背景、图标;3.显示窗口。代码清单如下:

java中frame窗口颜色 java frame默认布局_事件处理


布局管理器

* FlowLayout(流式布局管理器)
    * 从左到右的顺序排列。
    * Panel默认的布局管理器。
* BorderLayout(边界布局管理器)
    * 东,南,西,北,中
    * Frame默认的布局管理器。
* GridLayout(网格布局管理器)
    * 规则的矩阵
* CardLayout(卡片布局管理器)
    * 选项卡
* GridBagLayout(网格包布局管理器)
    * 非规则的矩阵

这里以FlowLayout布局管理器为例,添加两个按钮。代码清单如下: 

java中frame窗口颜色 java frame默认布局_事件处理_02


窗体监听

窗体监听器

java中frame窗口颜色 java frame默认布局_事件处理_03

鼠标监听

java中frame窗口颜色 java frame默认布局_事件处理_04

键盘监听

java中frame窗口颜色 java frame默认布局_监听器_05

动作监听

java中frame窗口颜色 java frame默认布局_监听器_06


适配器

什么是适配器
    * 在使用监听器的时候, 需要定义一个类事件监听器接口.
    * 通常接口中有多个方法, 而程序中不一定所有的都用到, 但又必须重写, 这很繁琐.
    * 适配器简化了这些操作, 我们定义监听器时只要继承适配器, 然后重写需要的方法即可.
适配器原理
    * 适配器就是一个类, 实现了监听器接口, 所有抽象方法都重写了, 但是方法全是空的.
    * 适配器类需要定义成抽象的,因为创建该类对象,调用空方法是没有意义的
    * 目的就是为了简化程序员的操作, 定义监听器时继承适配器, 只重写需要的方法就可以了.

    【注】:Frame中的鼠标监听器、键盘监听器、窗体监听器都用到了适配器,采用适配器能大大简化代码,避免重写所有的方法! 

最后给出窗体样式展示:

java中frame窗口颜色 java frame默认布局_事件处理_07


谢谢阅读         ----知飞翀