Java软件设计基础.pps
《Java软件设计基础.pps》由会员分享,可在线阅读,更多相关《Java软件设计基础.pps(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java软件设计基础,图形用户界面程序设计入门,1. 组件概述,GUI: Graphics User Interface设计和实现GUI的主要难点创建组成界面的各成分和元素,指定它们的属性和位置关系,根据具体需要布局排列,从而构成完整的GUI的外观表象;在GUI程序中,代码所执行的路线及顺序都是很不确定的。在GUI程序中,用户可以点击任意按键并和屏幕上的其他任何部分进行交互及信息传递即事件驱动。Java提供了大量支持GUI设计的类。AWT(Abstract Window Tookit)包Button、Label、TextField、CheckBoxSwing包JButton、JLabel、JT
2、extField、JCheckBox,Swing和AWT对Java运行的每一个平台,AWT的组件自动的通过它们各自的代理映射成特定平台的组件,这些代理称为同位体(peer)。AWT组件的设计原理是把与显示组件有关的许多工作和处理组件事件的工作交给相应的本地组件,因此非常依赖底层平台;AWT适用于开发简单的GUI,但不适于开发复杂的GUI项目。随着Java 2的发行,AWT的用户界面组件被更稳定、通用和灵活的Swing组件库取代。大多数Swing组件由Java代码绘制在画布上,更少的依赖目标机器上的底层平台。,不依赖本地GUI的Swing组件称为轻组件Lightweight component;
3、 AWT组件称为重组件Heavyweight component。,Swing外观与Windows外观,Java GUI API层次结构,GUI类容器类(Container)用来包含其他组件;Window、Panel、Applet、Frame和Dialog都是AWT组件的容器类;Conponent、Container、JFrame、JDialog、JApplet和JPanel都是Swing的容器类。其中:Container用来组织组件;JFrame是不能包含在另一个窗口内的窗口;JDialog是一个弹出式窗口或消息框;JApplet是Applet的一个子类;JPanel是一个存放用户界面组件的
4、不可见的容器,可以嵌套。组件类(Component)组件是一个可以以图形化方式显示于屏幕上与用户进行交互的对象。按钮、菜单、标签、文本域、复选框,辅助类辅助类都不是Component的子类,它们用来描述GUI组件的属性,例如颜色、字体、大小等。Graphics类是一个抽象类,提供一个图形环境,用于绘制字符串、直线和简单几何图形;Color类用来处理GUI组件的颜色;Font类指定GUI组件上文本和图形的字体;FontMetrics是用于获取字体属性的抽象类;Dimension将组件的宽度和高度(精度为整数)封装在单个对象中;LayoutManager是一个接口,指定组件在容器中的摆放方式。辅助
5、类包含在AWT包中。Swing组件不能取代AWT的全部类,只能替代AWT的GUI组件类;AWT的辅助类保持不变。,GUI设计的简要流程引入java.awt包或javax.swing包;利用包中提供的组件类来定义某种组件;定义一个放置组件的容器;对容器进行布局管理,将此组件添加到该容器中;为了让该组件响应某个事件,还要注册组件对应的事件监听器并实现相应的监听器接口。,2. AWT图形化界面基础,Frame/JFrame框架Frame框架是Windows类的子类,它是窗口的一种,是顶级窗口。Frame组件在Java的顶层窗口中可以独立使用。包含标题、边框等。当Frame被关闭后,将产生Window
6、Event事件。Frame无法直接监听键盘输入事件。构造方法:建立一个没有标题的新Frame对象:建立一个以title为标题的Frame对象:,Frame(),Frame(String title),主要方法:,示例:,Panel面板简介:是Container类的子类,也是容器,可容纳其他组件。面板不是顶级窗口,不能独立存在,必须将它添加到其他容器中。创建一个Panel对象后需将该对象放入Window和Frame中才可使Panel中的内容可见。构造方法:建立一个默认布局的新Panel对象:建立一个布局为layout的Panel对象:,Panel(),Panel(LayoutManager la
7、yout),示例,Button按钮简介是Java程序GUI设计中最常用的一个组件,是可以提供用户快速启动某一动作的类。按钮本身不显示信息,它一般对应一个事先定义好的功能操作,并对应一段程序。当用户点击按钮时,系统自动执行与该按钮相联系的程序,从而完成预先指定的功能。构造方法构造一个没有标题的按钮:构造一个标题为str的按钮:,Button(),Button(String str),主要方法示例,Label标签简介是一种用来显示说明性的静态文本的组件,它起到信息说明的作用。标签是用户只能查看而不能简单的修改其内容的文本显示区域,但用户可以在应用程序中通过调用Label提供的方法更换文本的内容。构
8、造方法创建一个没有名字的标签对象创建一个名字为str的标签对象创建一个名字为str的标签对象,对齐方式为align其中Label.LEFT、Label.RIGHT、Label.CENTER分别为居左、居右、居中。,Label(),Label(String str),Label(String str, int align),主要方法示例,TextField文本框和TextArea文本域它们都是TextComponent的子类,用于文本处理。TextField文本框是单行文本输入域,多用于单行显示。当按下回车键时,会发生事件(ActionEvent),可以通过ActionListener中的act
9、ionPerformed方法对事件进行处理。构造方法创建一个初始文本串为空的文本框对象创建一个初始文本串为str的文本框对象创建一个初始文本串为str、列数为column长度的文本框对象,TextField(),TextField(String str),TextField(String str, int column),主要方法TextArea是多行文本组件,用于显示程序中的多行文本信息。构造方法创建一个初始文本串为str的文本域对象创建numLines行、numChars列的文本域对象创建一个初始文本串为str、 numLines行、numChars列的文本域对象,TextArea(Str
10、ing str),TextArea(int numLines, int numChars),TextArea(String str, int numLines, int numChars),主要方法示例:,复选框与单选按钮简介复选框又称为检测盒,用Checkbox类的对象表示,Checkbox由一个方形的选择区和一个标签组成,有选中(check)和未选中(uncheck)两种状态。单独的Checkbox实现的是复选框功能,当多个Checkbox加入到一个CheckboxGroup组件内时,选择区变成圆形,组件内的Checkbox只能有一个被选中,此时实现的是单选按钮的功能。复选框和单选框使用I
11、temListener来监听ItemEvent事件。构造方法创建一个标签为str的复选框创建一个标签为str的单选按钮,g指明所属的CheckboxGroup,Checkbox(String str),Checkbox(String str, CheckboxGroup g, boolean state),主要方法,Choice下拉列表简介提供一个弹出式的菜单让用户选择,也是“多选一”的输入界面。与单选按钮组利用单选按钮把所有选项列出的方法不同,下拉列表的所有选项被折叠起来,在这个菜单折叠时只显示最前面的或是用户选定的那一项。下拉列表节省显示空间,适用于大量选项的情形。Choice用ItemL
12、istener接口来监听。构造方法创建一个空白的下拉列表,Choice(),主要方法List列表简介把所有供用户选择的项都显示出来以供选择。列表可以实现多选,支持滚动条,可以同时浏览多项。列表可以产生两种事件:,当用户单击列表中的某一个选项并选中它时,将产生ItemEvent类的选择事件;当用户双击列表中的某一个选项时,将产生ActionEvent类的动作事件。构造方法建立行数为rows的List对象,参数b为真时允许多选主要方法,List(int rows, boolean b),示例,Dialog对话框简介对话框与框架类似,是有边框、有标题而独立存在的容器。通常起到与用户交互的对话窗口的作
13、用。对话框不能作为程序的最外层容器,也不能包含菜单栏,它必须隶属于某个框架并由该框架负责弹出。对话框可以被设置为模式窗口,其特点是总是在激活窗口的最前面,即若是不关闭,则不能对其他窗口进行操作。构造方法创建没有标题的对话框,Owner表示所有者创建有指定标题title的对话框创建指定标题的对话框并指明是否为模式窗口,Dialog(Frame Owner),Dialog(Frame Owner, String title),Dialog(Frame Owner, String title, boolean model),主要方法示例,Canvas画布画布代表屏幕上一块空白的矩形区域,它不是容器,
14、而是一个可以在这里绘画、捕捉用户操作、产生相应事件的区域。,3. 事件处理机制,事件处理基础事件及其处理机制GUI的两大任务创建窗口并在窗口中添加各种组件,规划组件在窗口中的位置和相关属性,构成GUI的外观效果;设置各类组件对不同事件的响应,从而执行用户在用户界面所实施的交互行为,如果用户在用户界面执行了一个动作,这将导致一个事件的发生。事件是描述用户所执行的一个操作、所产生的一个行为,主要涉及以下三个概念:事件(Event):用来描述在用户界面的用户交互行为所产生的一种效果;事件源(Event Source):产生事件的组件对象;事件处理方法(Event Handler):负责解析处理事件的
15、类对象,用以实现和用户交互的方法。,事件的类层次事件处理方法主要基于“事件授权模型”(EDM: Event Delegation Model)的处理机制,实现定义多种事件类型。事件源拥有自己的方法,通过它可以向其注册事件监听器。事件监听器是一个实例,当事件源产生一个事件后,事件源就会通知相应的事件监听器,根据事件对象内封装的消息决定如何响应该事件。一个事件源可以注册一个或多个监听器,一个监听器也可以被注册到多个事件源。,事件的接口及方法ActionEvent行为:点击按钮、文本框、列表及选择菜单等接口名:ActionListener注册方法:监听器接口所提供的事件方法:ItemEvent行为:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 软件设计 基础
限制150内