GUI
图形用户界面
-
GUI
-
Graphical User Interface(图形用户接口)
-
用图形的方式,来显示计算机操作的界面,这样更方便更直观。
-
- GLI
- Command Line User Interface(命令行用户接口)
- 就是常见的Dos命令行操作。
- 需要记忆一些常用的命令,操作不直观。
- Java为GUI提供的对象都存在Java.Awt和Javax.Swing两个包中。
Awt和Swing
- java.Awt: Abstract Window ToolKit(抽象窗口工具包),需要调用本地系统方法实现功能。属于重量级控件。
- Java.Swing: 在AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现。增强了移植性,属轻量级控件。
继承关系图
- Component(组件): AWT组件的抽象超类。
- Container(容器): AWT容器对象,是一个可包含其他AWT组件的组件。
- Window(窗口): 一个没有边界和菜单栏的顶层窗口对象。窗口的默认布局是
BorderLayout
Panel(面板):
是最简单的容器类。应用程序可以将其他组件放在面板提供的空间内,这些组件包括其他面板。
面板的默认布局管理器是FlowLayout
布局管理器。
Rrame(窗口):
是带有标题和边框的顶层窗口。窗体的默认布局为BorderLayout
。- Dialog(对话框) : 是一个带标题和边界的顶层窗口,Dialog 的默认布局为
BorderLayout
。 - FileDialog(文件对话框): 类显示一个对话框窗口,用户可以从中选择文件。
- Button(按钮) 此类创建一个标签按钮
Label
(标签)- 对象是一个可在容器中放置文本的组件。一个标签只显示一行只读文本。文本可由应用程序更改,但是用户不能直接对其进行编辑。
- Checkbox(复选框)
- 复选框是一个可处于“开”(
true
) 或“关”(false
) 状态的图形组件。单击复选框可将其状态从“开”更改为“关”,或从“关”更改为“开”。
- 复选框是一个可处于“开”(
TextComponent
(文本组件)- 所有允许编辑文本的组件的超类。
TextComponent
类定义了一组判断此文本是否可编辑的方法。如果组件是可编辑的,则该类还定义了另一组支持文件插入符的方法。此外,该类定义了用于维护文本当前选择 的方法。文本选择是组件文本的子字符串,是编辑操作的目标。它也被称为选定文本。
- 所有允许编辑文本的组件的超类。
TextArea:
对象是显示文本的多行区域。可以将它设置为允许编辑或只读。TextField:
对象是允许编辑单行文本的文本组件。
布局管理器
- 容器中的组件的排放方式,就是布局。
- 常见的布局管理器:
- FlowLayout(流式布局管理器)
- 从左到右的顺序排列。
- Panel默认的布局管理器
- BorderLayout(边界布局管理器)
- 东,南,西,北,中
- Frame默认的布局管理器
- GridLayout(网格布局管理器)
- 规则的矩阵
- CardLayout(卡片布局管理器)
- 选项卡
- GridBagLayout(网格包布局管理器)
- 非规则的矩阵
- FlowLayout(流式布局管理器)
建立一个简单的窗体
- Container常用子类: Window Panel (面板,不能单独存在。)
- Window 常用子类:Frame Dialog
- 简单的窗体创建过程:
Frame f = new Frame("my window");
f.setLayout(new FlowLayout());
f.setSize(500,400);//设置窗体大小
f.setLocation(300,200);//设置窗体出现的屏幕的位置
f.setVisible(true); //设置窗体显示
事件监听机制
- 事件源(组件)
- 就是AWT包或者Swing包中的那些图形界面组件。
- 事件(Event)
- 每一个事件源都有自己特有的对应事件和共性事件。
- 监听器 (Listener)
- 将可以触发某一个事件的动作(不只一个动作)都已经封装到了监听器中。
- 事件处理(引发事件后处理方式)
- 以上三者,在Java中都已经定义好了,可以直接获取对象来使用。
- 实际开发中的工作主要是事件处理。
事件监听机制流程图