Java程序设计图形用户界面课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Java程序设计图形用户界面课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 图形 用户界面 课件
- 资源描述:
-
1、Java程序设计程序设计第第10章章 图形用户界面图形用户界面第10章 图形用户界面10.1 AWT组件 n10.1.1 图形用户界面概述n图形用户界面(graphical user interface,GUI)n处理图形用户界面的类库主要是java.awt包和javax.swing包。nAWT是abstract window toolkit(抽象窗口工具集)的缩写。 njavax.swing包是JDK1.2以后版本所引入的图形用户界面类库 。功能更强,界面更富。各种平台上更统一。第10章 图形用户界面n 设计和实现图形用户界面的工作主要有以下几点。n(1)创建组件(Component):n创
2、建组成界面的各种元素,如按钮、文本框等。n(2)指定布局(Layout):n根据具体需要排列它们的位置关系。n(3)响应事件(Event):n定义图形用户界面的事件和各界面元素对不同事件的响应, 从而实现图形用户界面与用户的交互功能。第10章 图形用户界面10.1.2 AWT组件分类 nJava中构成图形用户界面的各种元素,称为组件(Component)。 n组件分为容器(Container)类和非容器类组件两大类 n容器又分为顶层容器和非顶层容器两大类 第10章 图形用户界面重要的组件的继承关系第10章 图形用户界面10.1.3 Component的方法nComponent类是所有组件和容器
3、的抽象父类,其中定义了一些每个容器和组件都可能用到的方法 第10章 图形用户界面10.2 布局管理nJava.awt包中共定义了五种布局管理器,每个布局管理器对应一种布局策略,分别是nFlowLayoutnBorderLayoutnCardLayoutnGridLayoutnGridBagLayout。n 第10章 图形用户界面FlowLayout是Panel类的默认布局管理器FlowLayout布局对组件逐行定位,行内从左到右,一行排满后换行默认对齐方式为居中对齐不改变组件的大小,按组件原有尺寸显示组件 可在构造方法中设置不同的组件间距、行距及对齐方式第10章 图形用户界面范例:TestFl
4、owLayout.java第10章 图形用户界面new FlowLayout(FlowLayout.RIGHT,20,40);右对齐,组件之间水平间距20个像素,竖直间距40个像素;new FlowLayout(FlowLayout.LEFT);左对齐,水平和竖直间距为缺省值:5;new FlowLayout();使用缺省的居中对齐方式,水平和竖直间距为缺省值:5;第10章 图形用户界面BorderLayout是Frame类的默认布局管理器BorderLayout将整个容器的布局划分成东、西、南、北、中五个区域,组件只能被添加到指定的区域如不指定组件的加入部位,则默认加入到Center区域每个
5、区域只能加入一个组件,如加入多个,则先前加入的组件会被遗弃第10章 图形用户界面BorderLayout型布局容器尺寸缩放原则n北、南两个区域只能在水平方向缩放(宽度可调整)n东、西两个区域只能在垂直方向缩放(高度可调整)n中部可在两个方向上缩放North South West Eest Center第10章 图形用户界面范例:estBorderLayout.java第10章 图形用户界面GridLayout型布局管理器将布局划分成规则的矩形网格,每个单元格区域大小相等. 组件被添加到每个单元格中,先从左到右添满一行后换行,再从上到下. 在GridLayout构造方法中指定分割的行数和列数.n
6、ew GridLayout(3,4);第10章 图形用户界面范例:TestGridLayout.java第10章 图形用户界面CardLayout布局管理器能够帮助用户处理两个以至更多的成员共享同一显示空间,就好象一叠卡片摞在一起。注意:在一张卡片中只能显示一个组件,因此可以使用容器嵌套方法显示多个组件。addLayoutComponent, first, next, last方法第10章 图形用户界面AWT中最灵活、最复杂的布局管理器,各组件所占空间可以不相同且灵活规定,参见参考书及API文档;第10章 图形用户界面范例:NestedContainer.java第10章 图形用户界面Comp
7、onentContainerWindowPanelFrameDialogAppletBorderLayoutFlowLayout第10章 图形用户界面FramenFrame是一个顶级窗口。nFrame的缺省布局管理器为BorderLayout。PanelnPanel无法单独显示,必须添加到某个容器中。nPanel的缺省布局管理器为FlowLayout。n当把Panel作为一个组件添加到某个容器中后,该Panel仍然可以有自己的布局管理器。因此,可以利用Panel使得BorderLayout中某个区域显示多个组件。第10章 图形用户界面在程序中安排组件的位置和大小时,应注意:n容器中的布局管理器
8、负责各个组件的大小和位置,因此用户无法在这种情况下设置组件的这些属性。如果试图使用Java语言提供的setLocation(),setSize(),setBounds()等方法,则都会被布局管理器覆盖。n如果用户确实需要亲自设置组件大小或位置,则应取消该容器的布局管理器,方法为:setLayout(null);第10章 图形用户界面10.3 事件处理n10.3.1 事件及事件监听器nJava中的图形用户界面中,对于用户的鼠标、键盘操作发生反应,就必须进行事件处理。这些鼠标、键盘操作等统称为事件(Event)。对这些事件作出响应的程序,称为事件处理器(Event handler)。第10章 图形
9、用户界面1事件类AWTEvent 第10章 图形用户界面n事件类中包含有事件相关的信息,最重要的有:n(1)事件源(即产生事件的组件),可能通过getSource()来得到;n(2)事件的具体情况,如MouseEvent的getX(), getY()方法得到鼠标的坐标,KeyEvent的getKeyChar()得到当前的字符等。第10章 图形用户界面2事件处理器WTEventListenern事件处理器(Event handler)是对事件进行处理的程序,在编程时通过实现事件监听器(Event Listener)来实现对事件的处理。n事件监听器是一些事件的接口,这些接口是 java.awt.A
10、WTEventListener的子类。接口中含有相关的方法,如:MouseMotionListener是对鼠标移动事件的处理的接口,它含有两个重要的方法:nvoid mouseDragged(MouseEvent e);/ 处理鼠标拖动的方法nvoid mouseMoved(MouseEvent e);/ 处理鼠标移动的方法n在这些方法中,都带一个事件对象作为参数,如MouseMotionListener的两个方法都带MouseEvent参数。程序中可以根据这个参数可以得到有关事件的详细信息。第10章 图形用户界面10.3.2 事件监听器的注册n注册事件监听器只需要使用组件对象的 addXXX
11、XEvent方法,它可以指明该对象感兴趣的事件监听器(即实现了某个AWTEventListener子接口的对象)。这样,当事件源发生了某种类型的事件时,则触发事先已注册过的监听器中相应的处理程序。n一个对象上可注册多个监听器 n多个对象可注册同一个监听器 第10章 图形用户界面10.3.3 事件适配器n用实现接口的方法,必须实现接口所规定的方法,如WindowListener有7个方法,即使一些方法不做任何事情,也得书写。n为简化编程,针对一些事件监听器接口定义了相应的实现类事件适配器类(Adapter),在适配器类中,实现了相应监听器接口中所有的方法,但不做任何事情。n事件适配器包括如下几种
12、:n(1)ComponentAdapter(组件适配器);n(2)ContainerAdapter(容器适配器);n(3)FocusAdapter(焦点适配器);n(4)KeyAdapter(键盘适配器);n(5)MouseAdapter(鼠标适配器);n(6)MouseMotionAdapter(鼠标运动适配器);n(7)WindowAdapter(窗口适配器)。n程序中可以继承事件适配器类,并只重写所需要的方法,而不用写那些空的方法体。第10章 图形用户界面10.3.4 内部类及匿名类在事件处理中的应用n在Java事件处理程序中,由于与事件相关的事件监听器的类经常局限于一个类的内部,所以经
展开阅读全文