Java程序的设计 第06章 GUI程序的设计.ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
容器是GUI设计中必不可少的一种界面元素, 它是用来放置其他组件的一种特殊部件,Java 类库中提供了丰富的容器类,为选择与创建容 器带来了极大的便捷。下面介绍两种常用的容 器:顶层容器、面板容器。
6.2.1 顶层容器
所谓顶层容器是指最外层的容器,即包 含所有组件或容器的那层容器。例如, 运行应用程序后打开的最外层窗口。每 一个可视化的GUI应用程序都应该有一个 顶层容器。一个容器可以包含其他的容 器,即容器之间可以具有嵌套关系,这 样就形成了一个层次结构。如果将这个 容器层次结构用树型结构描述,顶层容 器就是这棵树的根。
需要说明下面几点: (1) 有关Swing容器与组件的类都被封装在 javax.swing包中,因此,在设计sing的图形用 户界面应用程序时,需要将这个包加载进来。 (2) JFrame类是Java类库提供的顶层窗口类, 定义其子类的目的是针对用户的需求,在子类 中给予相应的设置或重定义。 (3) DEFAULT_WIDTH与DEFAULT_HEIGHT是子类中 定义的两个常量,用于表示窗口大小。 (4) 在构造方法中设置窗口的大小,并将窗口 的可视状态设置为可见。需要说明,如果不设 置窗口的大小,窗口的默认大小为0;如果不设 置窗口的可视状态,其默认可视状态为隐藏。 (5) setTitle() 用于设置窗口标题栏显示的内 容,也可以利用getTitle()获取当前标题栏的 现实内容。
与AWT相比较,Swing具有以下几点优势:
(1)AWT是基于同位体(Peer)的体系结构, 这种设计策略严重限制了用户界面中可以使用 的组件种类及功能,成为一个致命的缺憾;而 Swing不需要本地提供同位体。
(2)在AWT中,有一部分代码是用C编写的;而 Swing是100%的纯Java,增强了应用程序的与环 境无关性。
1.创建顶层容器
通常,顶层容器就是人们看到的最外层 窗口,创建这个窗口的基本过程为: (1) 定义一个JFrame的子类。 (2) 创建上述子类对象。 (3) 设置窗口关闭操作。
// file name:SimpleJFrameClass .java import javax.swing.*; public class SimpleJFrameClass extends JFrame {
6.1 Java图形用户界面概述
在Java 语言中,为GUI应用程序设计提 供了强大的功能,其相关的类主要封装 在两个包(java.awt 和javax.swing) 中,其中包含了实现图形用户界面的所 有基本元素,这些基本元素主要包括容 器、组件、绘图工具与布局管理器等。 组件是与用户实现交互操作的部件,容 器是包容组件的部件,布局管理器是管 理组件在容器中布局的部件,绘图工具 是绘制图形的部件。
public static final int DEFAULT_WIDTH = 300; public static final int DEFAULT_HEIGHT = 200; public SimpleJFrameClass() {
setSize( DEFAULT_WIDTH, DEFAULT_HEIGHT ); setTitle("Simple JFrame Window"); setVisible(true); } }
(3)Swing具有控制外观(Pluggable look and feel)的能力,即允许用户自行定制桌面 的显示风格,而AWT 完全依赖于本地平台。
(4)增加了裁剪板、鼠标提示和打印等功能。
ห้องสมุดไป่ตู้
所有Swing组件类存在于javax.swing包 中。为了避免混淆,Swing包中的所有类 名都在原AWT类名的前面冠与“J”。 例如,JPanel、JFrame、JButton等。 对于用户界面,除了设计可视化组件的 显示外观外,还需要设计处理用户操作 请求的方式,这就是事件处理。
设计用户界面需要经历4个基本步骤: (1)创建与设置组件 (2)将组件加入到容器中 (3)布局组件 (4)处理由组件产生的事件
6.2 Swing容器
Swing是在AWT基础上发展而来的,人们在图形 用户界面中使用的元素都属于Swing,其原因 在于Swing扩展了AWT的功能,提高了Java程序 的控制能力,体现了Java人性化的设计理念。
第6章 GUI应用程序设计
图形用户界面(Graphics User Interface,缩写GUI)是指以图形的显 示方式与用户实现交互操作的应用程序 界面,设计具有GUI特征的应用程序被称 为GUI应用程序设计。Java提供了十分完 善的图形用户界面功能,使得软件开发 人员可以轻松地开发出功能强大、界面 友善、安全可靠的应用城建,充分体现 了Java语言的时代感与面向对象程序设 计的优越性。
java.awt是java1.1用来建立GUI的图形 包,这里的“awt”是抽象窗口工具包
(Abstract Windowing Toolkit)的缩 写,其中的组件常被称为AWT组件,这种 组件的结构简单、外观固定,在Java语 言的发布初期是构建用户界面的主要元 素,现在已经被基本淘汰使用。 javax.swing是JDK1.2之后提出的AWT改 进包,它改善了组件的显示外观,增强 了组件的控制能力,为Java满足人们对 用户界面的更高要求给予了可靠保证。
一个GUI应用程序应该包含 一个用JFrame作为根的容器 层级结构。JFrame是Swing 组件中承担顶层容器责任的 类,包含了描述顶层容器的 所有属性及操作行为。
在使用顶层容器时,需要注意以下几点: (1)为了能够在屏幕上显示出来,每个GUI组 件都必须放置在一个容器中。 (2)每个GUI组件只能被添加到一个容器中。 如果一个组件已经被添加到一个容器中,又把 它添加到另外一个容器中,则它将首先被从第 一个容器中删除,然后再移入第二个容器。 (3)在Swing中,顶层容器包含一个内容窗格 (Content pane),所有的可视组件都必须放 在内容窗格中。可以调用顶层容器中 getContentPane()方法得到当前容器的内容窗 格,并使用add()方法将组件添加到其中。 (4)可以在顶层容器中添加菜单栏,它将位 于顶层容器的约定位置。例如,在Window环境 下,菜单栏位于窗口标题栏的下面。
6.2.1 顶层容器
所谓顶层容器是指最外层的容器,即包 含所有组件或容器的那层容器。例如, 运行应用程序后打开的最外层窗口。每 一个可视化的GUI应用程序都应该有一个 顶层容器。一个容器可以包含其他的容 器,即容器之间可以具有嵌套关系,这 样就形成了一个层次结构。如果将这个 容器层次结构用树型结构描述,顶层容 器就是这棵树的根。
需要说明下面几点: (1) 有关Swing容器与组件的类都被封装在 javax.swing包中,因此,在设计sing的图形用 户界面应用程序时,需要将这个包加载进来。 (2) JFrame类是Java类库提供的顶层窗口类, 定义其子类的目的是针对用户的需求,在子类 中给予相应的设置或重定义。 (3) DEFAULT_WIDTH与DEFAULT_HEIGHT是子类中 定义的两个常量,用于表示窗口大小。 (4) 在构造方法中设置窗口的大小,并将窗口 的可视状态设置为可见。需要说明,如果不设 置窗口的大小,窗口的默认大小为0;如果不设 置窗口的可视状态,其默认可视状态为隐藏。 (5) setTitle() 用于设置窗口标题栏显示的内 容,也可以利用getTitle()获取当前标题栏的 现实内容。
与AWT相比较,Swing具有以下几点优势:
(1)AWT是基于同位体(Peer)的体系结构, 这种设计策略严重限制了用户界面中可以使用 的组件种类及功能,成为一个致命的缺憾;而 Swing不需要本地提供同位体。
(2)在AWT中,有一部分代码是用C编写的;而 Swing是100%的纯Java,增强了应用程序的与环 境无关性。
1.创建顶层容器
通常,顶层容器就是人们看到的最外层 窗口,创建这个窗口的基本过程为: (1) 定义一个JFrame的子类。 (2) 创建上述子类对象。 (3) 设置窗口关闭操作。
// file name:SimpleJFrameClass .java import javax.swing.*; public class SimpleJFrameClass extends JFrame {
6.1 Java图形用户界面概述
在Java 语言中,为GUI应用程序设计提 供了强大的功能,其相关的类主要封装 在两个包(java.awt 和javax.swing) 中,其中包含了实现图形用户界面的所 有基本元素,这些基本元素主要包括容 器、组件、绘图工具与布局管理器等。 组件是与用户实现交互操作的部件,容 器是包容组件的部件,布局管理器是管 理组件在容器中布局的部件,绘图工具 是绘制图形的部件。
public static final int DEFAULT_WIDTH = 300; public static final int DEFAULT_HEIGHT = 200; public SimpleJFrameClass() {
setSize( DEFAULT_WIDTH, DEFAULT_HEIGHT ); setTitle("Simple JFrame Window"); setVisible(true); } }
(3)Swing具有控制外观(Pluggable look and feel)的能力,即允许用户自行定制桌面 的显示风格,而AWT 完全依赖于本地平台。
(4)增加了裁剪板、鼠标提示和打印等功能。
ห้องสมุดไป่ตู้
所有Swing组件类存在于javax.swing包 中。为了避免混淆,Swing包中的所有类 名都在原AWT类名的前面冠与“J”。 例如,JPanel、JFrame、JButton等。 对于用户界面,除了设计可视化组件的 显示外观外,还需要设计处理用户操作 请求的方式,这就是事件处理。
设计用户界面需要经历4个基本步骤: (1)创建与设置组件 (2)将组件加入到容器中 (3)布局组件 (4)处理由组件产生的事件
6.2 Swing容器
Swing是在AWT基础上发展而来的,人们在图形 用户界面中使用的元素都属于Swing,其原因 在于Swing扩展了AWT的功能,提高了Java程序 的控制能力,体现了Java人性化的设计理念。
第6章 GUI应用程序设计
图形用户界面(Graphics User Interface,缩写GUI)是指以图形的显 示方式与用户实现交互操作的应用程序 界面,设计具有GUI特征的应用程序被称 为GUI应用程序设计。Java提供了十分完 善的图形用户界面功能,使得软件开发 人员可以轻松地开发出功能强大、界面 友善、安全可靠的应用城建,充分体现 了Java语言的时代感与面向对象程序设 计的优越性。
java.awt是java1.1用来建立GUI的图形 包,这里的“awt”是抽象窗口工具包
(Abstract Windowing Toolkit)的缩 写,其中的组件常被称为AWT组件,这种 组件的结构简单、外观固定,在Java语 言的发布初期是构建用户界面的主要元 素,现在已经被基本淘汰使用。 javax.swing是JDK1.2之后提出的AWT改 进包,它改善了组件的显示外观,增强 了组件的控制能力,为Java满足人们对 用户界面的更高要求给予了可靠保证。
一个GUI应用程序应该包含 一个用JFrame作为根的容器 层级结构。JFrame是Swing 组件中承担顶层容器责任的 类,包含了描述顶层容器的 所有属性及操作行为。
在使用顶层容器时,需要注意以下几点: (1)为了能够在屏幕上显示出来,每个GUI组 件都必须放置在一个容器中。 (2)每个GUI组件只能被添加到一个容器中。 如果一个组件已经被添加到一个容器中,又把 它添加到另外一个容器中,则它将首先被从第 一个容器中删除,然后再移入第二个容器。 (3)在Swing中,顶层容器包含一个内容窗格 (Content pane),所有的可视组件都必须放 在内容窗格中。可以调用顶层容器中 getContentPane()方法得到当前容器的内容窗 格,并使用add()方法将组件添加到其中。 (4)可以在顶层容器中添加菜单栏,它将位 于顶层容器的约定位置。例如,在Window环境 下,菜单栏位于窗口标题栏的下面。