Java基础案例教程第8章_GUI(图形用户界面)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.Window
➢ Window类是不依赖其他容器而独立存在的容器,它有两个子类,分别是Frame 类和Dialog类。Frame类用于创建一个具有标题栏的框架窗口,作为程序的主界 面,Dialog类用于创建一个对话框,实现与用户的信息交互,如图所示。
8.1பைடு நூலகம்AWT概述
2.Panel ➢ Panel也是一个容器,但是它不能单独存在,只能存在其他容器(Window或其
子类)中,一个Panel对象代表了一个长方形的区域,在这个区域中可以容纳 其他组件。在程序中通常会使用Panel来实现一些特殊的布局。
案例代码
了解了AWT组件的相关类后,为了使读者对GUI有一个更直观的认识, 接下来通过一个案例来创建一个简单的图形界面,请查看教材文件8-1。
8.2 布局管理器
➢ 8.1小节提到过,组件不能单独存在,必须放置于容器当中,而组件在容器中 的位置和尺寸是由布局管理器来决定的。在java.awt包中提供了五种布局管理 器,分别是FlowLayout(流式布局管理器)、BorderLayout(边界布局管理器)、 GridLayout(网格布局管理器)、GridBagLayout(网格包布局管理器)和 CardLayout(卡片布局管理器)。每个容器在创建时都会使用一种默认的布局 管理器,在程序中可以通过调用容器对象的setLayout()方法设置布局管理器, 通过布局管理器来自动进行组件的布局管理。例如把一个Frame窗体的布局管 理器设置为FlowLayout,代码如下所示:
知识架构
返回目录
8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.6.6 8.6.7 8.6.8
8.6 Swing
Jframe JDialog 中间容器 文本组件 按钮组件 JComboBox 菜单组件 JTable
GUI(图形用户界面)
➢ GUI全称是Graphical User Interface,即图形用户界面。顾名思义,就是应用程 序提供给用户操作的图形界面,包括窗口、菜单、按钮、工具栏和其他各种图 形界面元素。目前,图形用户界面已经成为一种趋势,几乎所有的程序设计语 言都提供了GUI设计功能。Java中针对GUI设计提供了丰富的类库,这些类分别 位于java.awt和javax.swing包中,简称为AWT和Swing。其中,AWT是SUN公司最 早推出的一套API,它需要利用本地操作系统所提供的图形库,属于重量级组 件,不跨平台,它的组件种类有限,可以提供基本的GUI设计工具,却无法实 现目前GUI设计所需的所有功能。随后,SUN公司对AWT进行改进,提供了 Swing组件,Swing组件由纯Java语言编写,属于轻量级组件,可跨平台,Swing 不仅实现了AWT中的所有功能,而且提供了更加丰富的组件和功能,足以满足 GUI设计的一切需求。Swing会用到AWT中的许多知识,掌握了AWT,学习Swing 就变成了一件很容易的事情,因此本章将从AWT开始学习图形用户界面。
8.1 AWT概述
➢ Component类通常被称为组件,根据Component的不同作用,可将其分为基本 组件类和容器类。基本组件类是诸如按钮、文本框之类的图形界面元素,而容 器类则是通过Component的子类Container实例化的对象。Container类表示容器, 它是一种特殊的组件,可以用来容纳其他组件。Container容器又分为两种类型, 分别是Window和Panel,接下来对两种类型进行详细讲解。
常用事件分类
☞点击查看本小节知识架构
AWT绘图
Swing
☞点击查看本小节知识架构
水果超市管理系统
知识架构
返回目录
8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6
8.2 布局管理器
FlowLayout BorderLayout GridLayout GridBagLayout CardLayout 不使用布局管理器
第八章 GUI(图形用户界面)
• 布局管理器 • 常用事件
• AWT事件处理机制 • 常用Swing组件
学习目标
1 掌握布局管理器、AWT事件
处理机制以及常用事件
掌握
了解GUI开发的相
3 关原理和技巧
熟悉Swing组件
的使用 2
目录
AWT概述
布局管理器
☞点击查看本小节知识架构
AWT事件处理
☞点击查看本小节知识架构
8.2 布局管理器
案例代码
接下来通过一个添加按钮的案例来学习一下FlowLayout布局管理 器的用法,请查看教材文件8-2。
8.2 布局管理器
FlowLayout
➢ 流式布局管理器(FlowLayout)是最简单的布局管理器,在这种布局下,容器 会将组件按照添加顺序从左向右放置。当到达容器的边界时,会自动将组件放 到下一行的开始位置。这些组件可以左对齐、居中对齐(默认方式)或右对齐 的方式排列。FlowLayout对象有三个构造方法,如表所示。
➢ 表中,列出了FlowLayout的三个构造方法,其中,参数align决定组件在每行中 相对于容器边界的对齐方式,可以使用该类中提供的常量作为参数传递给构造 方法,其中FlowLayout.LEFT用于表示左对齐、FlowLayout.RIGHT用于表示右对齐、 FlowLayout.CENTER用于表示居中对齐。参数hgap和参数vgap分别设定组件之间 的水平和垂直间隙,可以填入一个任意数值。
8.1 AWT概述
➢ AWT是用于创建图形用户界面的一个工具包,它提供了一系列用于实现图形界 面的组件,如窗口、按钮、文本框、对话框等。在JDK中针对每个组件都提供 了对应的Java类,这些类都位于java.awt包中,接下来通过一个图例来描述这些 类的继承关系,如图所示。
➢ 从图的继承关系可以看出,在AWT中组件分为两大类,这两类的基类分别是 Component和MenuComponent。其中,MenuComponent是所有与菜单相关组 件的父类,Component则是除菜单外其他AWT组件的父类,它表示一个能以图 形化方式显示出来,并可与用户交互的对象。
➢ Window类是不依赖其他容器而独立存在的容器,它有两个子类,分别是Frame 类和Dialog类。Frame类用于创建一个具有标题栏的框架窗口,作为程序的主界 面,Dialog类用于创建一个对话框,实现与用户的信息交互,如图所示。
8.1பைடு நூலகம்AWT概述
2.Panel ➢ Panel也是一个容器,但是它不能单独存在,只能存在其他容器(Window或其
子类)中,一个Panel对象代表了一个长方形的区域,在这个区域中可以容纳 其他组件。在程序中通常会使用Panel来实现一些特殊的布局。
案例代码
了解了AWT组件的相关类后,为了使读者对GUI有一个更直观的认识, 接下来通过一个案例来创建一个简单的图形界面,请查看教材文件8-1。
8.2 布局管理器
➢ 8.1小节提到过,组件不能单独存在,必须放置于容器当中,而组件在容器中 的位置和尺寸是由布局管理器来决定的。在java.awt包中提供了五种布局管理 器,分别是FlowLayout(流式布局管理器)、BorderLayout(边界布局管理器)、 GridLayout(网格布局管理器)、GridBagLayout(网格包布局管理器)和 CardLayout(卡片布局管理器)。每个容器在创建时都会使用一种默认的布局 管理器,在程序中可以通过调用容器对象的setLayout()方法设置布局管理器, 通过布局管理器来自动进行组件的布局管理。例如把一个Frame窗体的布局管 理器设置为FlowLayout,代码如下所示:
知识架构
返回目录
8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.6.6 8.6.7 8.6.8
8.6 Swing
Jframe JDialog 中间容器 文本组件 按钮组件 JComboBox 菜单组件 JTable
GUI(图形用户界面)
➢ GUI全称是Graphical User Interface,即图形用户界面。顾名思义,就是应用程 序提供给用户操作的图形界面,包括窗口、菜单、按钮、工具栏和其他各种图 形界面元素。目前,图形用户界面已经成为一种趋势,几乎所有的程序设计语 言都提供了GUI设计功能。Java中针对GUI设计提供了丰富的类库,这些类分别 位于java.awt和javax.swing包中,简称为AWT和Swing。其中,AWT是SUN公司最 早推出的一套API,它需要利用本地操作系统所提供的图形库,属于重量级组 件,不跨平台,它的组件种类有限,可以提供基本的GUI设计工具,却无法实 现目前GUI设计所需的所有功能。随后,SUN公司对AWT进行改进,提供了 Swing组件,Swing组件由纯Java语言编写,属于轻量级组件,可跨平台,Swing 不仅实现了AWT中的所有功能,而且提供了更加丰富的组件和功能,足以满足 GUI设计的一切需求。Swing会用到AWT中的许多知识,掌握了AWT,学习Swing 就变成了一件很容易的事情,因此本章将从AWT开始学习图形用户界面。
8.1 AWT概述
➢ Component类通常被称为组件,根据Component的不同作用,可将其分为基本 组件类和容器类。基本组件类是诸如按钮、文本框之类的图形界面元素,而容 器类则是通过Component的子类Container实例化的对象。Container类表示容器, 它是一种特殊的组件,可以用来容纳其他组件。Container容器又分为两种类型, 分别是Window和Panel,接下来对两种类型进行详细讲解。
常用事件分类
☞点击查看本小节知识架构
AWT绘图
Swing
☞点击查看本小节知识架构
水果超市管理系统
知识架构
返回目录
8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6
8.2 布局管理器
FlowLayout BorderLayout GridLayout GridBagLayout CardLayout 不使用布局管理器
第八章 GUI(图形用户界面)
• 布局管理器 • 常用事件
• AWT事件处理机制 • 常用Swing组件
学习目标
1 掌握布局管理器、AWT事件
处理机制以及常用事件
掌握
了解GUI开发的相
3 关原理和技巧
熟悉Swing组件
的使用 2
目录
AWT概述
布局管理器
☞点击查看本小节知识架构
AWT事件处理
☞点击查看本小节知识架构
8.2 布局管理器
案例代码
接下来通过一个添加按钮的案例来学习一下FlowLayout布局管理 器的用法,请查看教材文件8-2。
8.2 布局管理器
FlowLayout
➢ 流式布局管理器(FlowLayout)是最简单的布局管理器,在这种布局下,容器 会将组件按照添加顺序从左向右放置。当到达容器的边界时,会自动将组件放 到下一行的开始位置。这些组件可以左对齐、居中对齐(默认方式)或右对齐 的方式排列。FlowLayout对象有三个构造方法,如表所示。
➢ 表中,列出了FlowLayout的三个构造方法,其中,参数align决定组件在每行中 相对于容器边界的对齐方式,可以使用该类中提供的常量作为参数传递给构造 方法,其中FlowLayout.LEFT用于表示左对齐、FlowLayout.RIGHT用于表示右对齐、 FlowLayout.CENTER用于表示居中对齐。参数hgap和参数vgap分别设定组件之间 的水平和垂直间隙,可以填入一个任意数值。
8.1 AWT概述
➢ AWT是用于创建图形用户界面的一个工具包,它提供了一系列用于实现图形界 面的组件,如窗口、按钮、文本框、对话框等。在JDK中针对每个组件都提供 了对应的Java类,这些类都位于java.awt包中,接下来通过一个图例来描述这些 类的继承关系,如图所示。
➢ 从图的继承关系可以看出,在AWT中组件分为两大类,这两类的基类分别是 Component和MenuComponent。其中,MenuComponent是所有与菜单相关组 件的父类,Component则是除菜单外其他AWT组件的父类,它表示一个能以图 形化方式显示出来,并可与用户交互的对象。