当前位置:
文档之家› 第12章图形界面设计(第4版)
第12章图形界面设计(第4版)
13
Company Logo Company Logo
12.3.2命令按钮、复选框和单选 按钮
JButton ( javax.swing ) 用户用鼠标单击它来控制程序运行的流程。 JButton创建后通过容器的add()将其放入容器 。 构造方法及常用方法见教材表12.16、12.17 见教材例12.5、12.4
见教材例12.9
19 Company Logo Company Logo
12.4.2 边界式布局管理器 BorderLayout
南(South)、北(North)、中(Center)五个区域。
将显示区域按地理方位分为东(East)、西(West)、
将组件加入容器中,若没有指定区域,则默认为
14
Company Logo Company Logo
12.3.2命令按钮、复选框和单选 按钮
JCheckBox和JRadioButton ( javax.swing ) JCheckBox可以单独使用,而单选按钮必须配合 javax.swing包中的ButtonGroup类将其组成单 选按钮组来使用 构造方法及常用方法见教材表12.18 见教材例12.6
中间;若将组件加入到已被占用的位置,将会取
代原先的组件。 构造方法及常用方法见教材表12.30-12.32
见教材例12.10
20 Company Logo Company Logo
利用add()添加组件时必须指出组件的摆放位置。
用网格分割,把组 提供的页面布局规则是将容器的空间划分成若干行与列 件放入网格中,先 的网格形式,在容器上添加组件时,它们会按从左到右 行后列摆放组件 、从上到下的顺序在网格中均匀排列。 网格的行数和列数可以在创建GridLayout对象的构造方 法里指定。若控件数正好是行×列,则按行、列数放置 ;若控件数超过了行×列,则先满足行。 利用GridLayout布局策略时,容器中各组件的宽度相同 ,所有组件的高度也相同,当容器尺寸发生变化时,各 组件的相对位置不变。 构造方法及常用方法见教材表12.33、12.34 见教材例12.11
18 Company Logo Company Logo
12.4.1 流式布局管理器FlowLayout
布局策略
组件按照加入容器的先后顺序从左向右排列; 一行排满后就自动地转到下一行继续从左向右排列; 每一行中的组件都居中排列。
FlowLayout布局管理器是Panel、Applet和JPanel 默认的布局管理方式。 布局管理器的容器中的组件大小不随容器大小的 变化而改变. 构造方法及常用方法见教材表12.27-12.29
LOGO
第 12 章 图形界面设计
1
本章主要内容
图形用户界面工具包Swing Swing组件分类 Swing容器的内部结构 创建组件 窗口的布局管理设计
2
12.1图形用户界面概述
图形用户界面(Graphics User Interface,GUI) 用图形的方式,借助菜单。按钮等标准界面元素 和鼠标操作,帮助用户方便地向计算机系统发出 指令、启动操作,并将系统运行的结果同样以图 形方式显示给用户的技术。 Java的GUI程序设计是Java程序设计的基础。 Java提供的两个处理图形用户界面的类库 Java. awt包 和 javax. swing包
抽象窗口 www.themegaቤተ መጻሕፍቲ ባይዱ 工具集
3
awt的扩展,根据 给定环境调整外观
Company Logo
12.2图形用户界面工具包 -Swing
Java图形用户界面的基本元素包括:用户界面组 件(组件类)、事件处理模块(事件类)、图形 和图像工具(图形类、图像类)、布局管理器( 布局类)等。 java组件类的继承关系见教材图12.1
21 Company Logo Company Logo
12.4.3 网格式布局管理器 通过行列、间距来 GridLayout
12.4.4 卡片式布局管理器 CardLayout
页面布局方式是把“窗口容器”中的所有组件如 同堆叠起来的一付“扑克牌”,每次只能显示最 上面的一张一样,这个被显示的组件将占据所有 的容器空间。 使用add()往窗口容器中加入组件时应为每个组 件赋予一个名字。依据这个名字利用CardLayout 类所提供的方法来控制其他组件是否显示。 该布局方式每次仅有一个组件是可见的。 构造方法及常用方法见教材表12.35、12.36 见教材例12.12
4
Company Logo
12.2.1 Swing组件分类
组件:构成图形用户界面的各种元素。 构建图形用户界面的类可以分成三组:容器类 (container class)、辅助类(helper class)和组 件类(component class)。Swing轻型组件的分类 见教材表12.1 容器类 容器又分为两种:顶层容器和非顶层容器。顶 层容器是可以独立的窗口,Swing的顶层容器有 JFrame、JApplet和JDialog等;非顶层容器, 不是独立的窗口,它们必须位于窗口之内,非 顶层容器包括JPanel及JScrollPanel等。
15
Company Logo Company Logo
12.3.3 文本编辑组件与滚动窗格
文本行组件JTextField主要用于接收用户键盘输 入的文本 密码文本行组件JPasswordField主要用于输入密 码 文本区组件JTextArea 通常与滚动窗格组件 JScrollPane一起使用 这几种组件类的构造方法及常用方法见教材中 表12.20—12.24
字体类Font
用来规范组件所用的字体样式、大小与字形等。 字形样式:PLAIN 构造方法: 字体名称
、BOLD、ITALIC
字号大小
Font (String font_name, int style, int size)
10 Company Logo Company Logo
24
Company Logo
12.4.7重叠布局管理器OverlayLayout 和弹簧布局管理器SpringLayout简介
重叠布局管理器OverlayLayout和弹簧布局管理 器SpringLayout均是Swing中定义的布局管理器。
12.3 创建组件
12.3.1 12.3.2 12.3.3 12.3.4 创建标签 创建命令按钮 创建文本编辑组件 创建复选框组件
12
Company Logo Company Logo
12.3.1 标签JLabel
JLabel (javax.swing) 标签用来在窗口中显示文字的控件 构造方法及常用方法见教材表12.14、12.15 见教材例12.3、12.4
23 Company Logo
12.4.6 盒式布局管理器BoxLayout
BoxLayout是一种Swing布局管理器,这种布局策 略是在一行或一列中摆放组件。 构造方法及常用方法见教材表12.41、12.42 见教材例12.14
6
Company Logo
12.2.1 Swing组件分类
Swing容器的层次关系 一般的Swing窗口,实际上包含几个“层次”, 各个层的关系如图12.2所示。 框架类JFrame 见教材例12.1 它是Java应用程序的顶层容器。 面板类Jpanel 面板是一种没有标题栏、没有边框的中间层容器 ,面板不是顶层容器,必须放到其他容器内,也可 以放入另一个面板内。
7
Company Logo 见教材例 12.2
12.2.1 Swing组件分类
非容器类 又称控制组件(控件),它里面不能包含其他 组件。 作用:完成与用户的交互,包括接收用户的命 令、接收用户输入的文本或用户的选择、向用 户显示文本或图形。 常用控件:命令类、选择类、文字处理类等式
17
Company Logo Company Logo
12.4 布局管理器
布局管理即页面管理。页面管理(layout):指窗口 上的组件遵循一定的规则来排列,并会随着窗口大小 的变化来改变组件大小与位置的一种布局方式。 自动布局:当为一个容器指定一个布局管理器后,将 一个组件加入该容器中时,布局管理器就能自动设置 该组件的大小和位置。 java.awt包中共定义了五种布局管理器,每个布局管 理器对应一种布局策略,分别是:流式布局管理器 FlowLayout、边界式布局管理器BorderLayout、卡片 式布局管理器CardLayout、网格式布局管理器 GridLayout和网袋布局管理器GridBagLayout。
应用见教材例12.7
16
Company Logo Company Logo
12.3.4 选项窗格组件
选项窗格JTabbedPane JTabbedPane组件中允许包含多个选项卡。 用户选取项目的一种组件,用户利用该组件来表 JTabbedPane类的构造方法及常用方法见教材中表 12.25、12.26 应用见教材例12.8
8
Company Logo
12.2.1 Swing组件分类
图形界面设计的步骤
创建组件(Component):创建组成界面的各种元 素,如按钮、文本框等。 指定布局(Layout):根据具体需要排列界面上 各元素的位置关系。
响应事件(Event):定义图形用户界面的事件和 各界面元素对不同事件的响应,从而实现图形 用户界面与用户的交互功能。
22 Company Logo Company Logo
12.4.5 格包布局管理器 GridBagLayout
将容器中的组件按行、列的位置摆放,但各组件 所占据的空间可以是互不相同的。 可以为每个组件指定其占据的网格数,可以保留 组件原来的大小,可以按任意顺序随意加入容器 的任意位置,从而可以真正自由地安排容器中的 组件的大小和位置。 构造方法及常用方法见教材表12.37-12.40 见教材例12.13