某公司JAVA培训(第三讲)2004年7月.ppt

上传人:本田雅阁 文档编号:2135921 上传时间:2019-02-20 格式:PPT 页数:30 大小:167.01KB
返回 下载 相关 举报
某公司JAVA培训(第三讲)2004年7月.ppt_第1页
第1页 / 共30页
某公司JAVA培训(第三讲)2004年7月.ppt_第2页
第2页 / 共30页
某公司JAVA培训(第三讲)2004年7月.ppt_第3页
第3页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《某公司JAVA培训(第三讲)2004年7月.ppt》由会员分享,可在线阅读,更多相关《某公司JAVA培训(第三讲)2004年7月.ppt(30页珍藏版)》请在三一文库上搜索。

1、,第三讲 JavaApplet与JavaScript(一),Java Applet是一种工作在Internet浏览器上的Java程序。Java Applet主要用来将Java程序插入到HTML网页中,在网络上传输,并将其作为网页的一部分来执行。 JavaScript是直接嵌入到HTML网页中的基于Java语言的前台脚本语言,它类似于VBScript。 本讲课程主要包括以下内容:,1. Java图形类与事件响应结构简介,1. Java图形类与事件响应结构简介,1.1 抽象窗口工具集AWT 设计Java图形用户界面(GUI, Graphics User Interface)的基本元素由抽象窗口工具

2、集(AWT, Abstract Window Toolkit)提供,主要包括用户界面组件、事件处理模型、图形和图像工具、布局管理器等。它们都包含于java.awt包中。 AWT是Java基础类库(JFC, Java Foundation Class)的一部分。AWT为大规模的GUI开发提供了丰富的基础结构。AWT支持JavaBeans体系结构,AWT组件都是“简单”的JavaBean。 AWT的主要相关包如下:,1. Java图形类与事件响应结构简介 续1,java.awt AWT核心包,包括组件类,事件类等 java.awt.event 提供事件类和监听器 java.awt.color 定义

3、颜色及其空间 java.awt.font 提供各种字体 java.awt.accessibility 提供辅助功能 java.awt.datatransfer 提供数据传输和剪贴板功能 java.awt.dnd 图形化用户之间实现拖拽功能 java.awt.geom 任何软件包 java.awt.im 引入方法 java.awt.peer 同位体组件界面 java.awt.print 提供打印功能 java.awt.swing AWT包的扩展,提供GUI类和接口(Java2新增) java.awt.Robot 自动检测,自动演示,1.2 Java图形类,java.lang.Object,Col

4、or 颜色类,Font 字体类,Component 组件类,CheckBoxGroup 复选框组类,Image 图像类,MenuCoponent 菜单组件类,Graphics 图形类,BorderLayout FlowLayout GirdLayout CardLayout 布局类,Label 标签类,TextComponent 文本组件类,CheckBox 复选框类,Choice 选择框类,List 列表框类,Canvas 画布类,ScrollBar 滚动条类,Container 容器类,Button 按钮类,Panel 面板类,Window 窗口类,Frame 框架类,Dialog 对话框

5、类,Java.applet.Applet 小程序类,TextField 文件行类,TextArea 文本区类,FileDialog 文件对话框类,1. Java图形类与事件响应结构简介 续2,1. Java图形类与事件响应结构简介 续3,1.3 设计和实现图形用户界面的主要工作 (1) 创建组件(Component) (2) 指定布局(Layout) (3) 响应事件(Event),MenuCoponent 菜单组件类,MenuItem,MenuBar,CheckBoxMenuItem,Menu,PopupMenu,菜单组件的子类,1. Java图形类与事件响应结构简介 续4,1.4 容器与容

6、器类组件 (1)容器有一定范围,容器一般都是矩形,容器范围边界可以用边框框出来,有些则没有。 (2)容器有一定位置,这个位置可以是屏幕四角的绝对位置,也可以是相对于其他容器边框的相对的位置。 (3)容器通常都有一个背景,这个背景覆盖全部容器,可以透明,也可以指定一幅特殊的图案。 (4)容器中可以包含其它的许多界面成分和元素。当容器被打开显示时,它上面的成分和元素同时也被显示出来;当容器被关闭和隐藏时,它所包含的成分和元素也一起被隐藏。 (5)容器可以按一定的规则来安排它所包含的元素,如这些元素的相对位置关系、它们的前后排关系等。 (6)容器可以包含在其它容器中。,1. Java图形类与事件响应

7、结构简介 续5,容器类,容器类的常用方法,add(Component comp) 将指定组件放到容器中。 remove(Component comp) 删除指定组件 setLayout(LayoutManager mgr) 设置容器布局,Frame类,Frame类的特点,它是Window类的直接子类 Frame对象显示的效果是一个窗口,带有标题和尺寸。 Frame被默认初始化为不可见的,可使用setVisible(true)方法使之变成可见。 默认的布局管理器是BorderLayout,可以用setLayout()方法改变其默认的布局管理器。,1. Java图形类与事件响应结构简介 续6,Pa

8、nel类,Panel类的特点,它不是顶层窗口,必须位于窗口或其他容器之内。 Panel可以容纳其他组件,在程序中经常用于布局和定位。 Panel的默认布局管理器是FlowLayout,可使用setLayout()方法改变其默认布局管理器。 Panel可以采用和所在容器不同的布局管理器。,1.5 Java事件类,Java语言中,所有的事件都定义在包java.awt.event中,用相应的类来表达不同的事件。,1. Java图形类与事件响应结构简介 续7,Java.lang.Object,java.util.EventObject,java.awt.AWTEvent 抽象事件类,Component

9、Event 组件事件类,ItemEvent 选择事件类,ActionEvent 按钮事件类,AdjustmentEvent 数值调整事件类,TextEvent 文本框事件类,FocusEvent 焦点事件类,InputEvent 输入事件类,ContainerEvent 容器事件类,WindowEvent 窗口事件类,KeyEvent 焦点事件类,MouseEvent 输入事件类,Java事件类层次,EventObject类的主要方法,public Object getSource() /获得产生事件的组件,1. Java图形类与事件响应结构简介 续8,ActionEvent类的主要方法,pu

10、blic String getActionCommand() /获得按钮的标签,Java常用事件类的说明,1. Java图形类与事件响应结构简介 续9,1.6 Java事件响应机制,JDK1.0的层次响应模型,Frame,Panel,Button,单击事件,如左图所示: 当事件发生时,首先生成一个事件对象,然后将事件对象传递给Button对象处理,如果Button对象没有处理该事件,则将事件对象传递给容器类(图中的Panel)对象处理,如果容器也没有处理,继续传给容器的容器(图中的Frame类)对象处理。,1. Java图形类与事件响应结构简介 续10,JDK1.1以后的委托事件模型,Fram

11、e,Panel,Button,单击事件,如左图所示: 当事件发生时,首先生成一个事件对象,然后将事件对象传递给处理该事件的类对象的监听方法,由监听方法进行事件处理。 为了让事件对象正确传递到响应该事件的类对象,必须在实例化Button对象时,调用该对象的注册事件监听对象方法。,事件响应类对象的监听方法,所有组件类都有注册事件监听对象方法,该方法的基本格式是,public void add*Listener(响应该事件的对象),1. Java图形类与事件响应结构简介 续11,事件处理方法由系统预定义接口实现。接口的名称形如 *Listener 每个接口中包含1至多个事件处理方法,这些事件处理方法

12、都是空函数,必须由完成事件处理的用户类来具体实现这些方法的代码。 进行事件处理的类定义格式如下: class 类名 implements *Listener, . 实现接口*Listener中的所有方法 ,1. Java图形类与事件响应结构简介 续12,名字中的*,就是事件类去掉Event后英文单词。比如: 事件类名 ActionEvent 则对应的注册事件监听对象方法的名称一定是 addActionListener 对应的事件处理接口名称一定是 ActionListener 事件处理接口中的方法名称是由系统预先定义的,用户不能修改它,只能在自己的事件处理类中具体实例化这些方法。所有事件响应方

13、法如下所示。,事件处理接口与方法,(1) ComponentListener public void componentMoved(ComponentEvent e) /移动组件时 public void componentHidden(ComponentEvent e) /隐藏组件时 public void componentResized(ComponentEvent e) /改变组件大小时 public void componentShown(ComponentEvent e) /显示组件时 (2) ContainerListener public void componentAdded

14、(ContainerEvent e) /添加组件时 public void componentRemoved(ContainerEvent e) /移动组件时 (3) WindowListener public void windowOpened(WindowEvent e) /打开窗口时 public void windowActivated(WindowEvent e) /激活窗口时,1. Java图形类与事件响应结构简介 续13,1. Java图形类与事件响应结构简介 续14,public void widnowDeactivated(WindowEvent e) /窗口行动焦点时 pu

15、blic void windowClosing(WindowEvent e) /关闭窗口时 public void windowClosed(WindowEvent e) /关闭窗口后 public void windowIconfield(WindowEvent e) /最小化成图标时 public void windowDeconified(WindowEvent e) /从图标恢复窗口时 (4) ActionListener public void actionPerformed(ActionEvent e) /单击按钮,文本行中单击回车键,双击列表框选择菜单项时 (5) TextLis

16、tener public void textValueChanged(TextEvent e) 文本行、文本区中修改内容,1. Java图形类与事件响应结构简介 续15,(6) ItemListener public void itemStateChanged(ItemEvent e) /选择复选框、选择框,单击列表框,选中带复选框的菜单项 (7) MouseMotionListener (MouseEvent) public void mouseDragged(MouseEvent e) public void mouseMoved(MouseEvent e) (8) MouseListen

17、er public void mouseClicked(MouseEvent e) /单击鼠标时 public void mouseEntered(MouseEvent e) /鼠标进入 public void mouseExited(MouseEvent e) /鼠标离开 public void mousePressed(MouseEvent e) /鼠标按下,1. Java图形类与事件响应结构简介 续16,public void mouseReleased(MouseEvent e) /鼠标放开 (9) KeyListener public void keyPressed(KeyEvent

18、 e) /按下键盘 public void keyReleased(KeyEvent e) /释放键盘 public void keyTyped(KeyEvent e) /敲击键盘上的键 (10) FocusListener public void focusGained(FocusEvent e) /获得焦点时 public void focusLost(FocusEvent e) /失去焦点时 (11) AdjustmentListener public void adjustmentValueChanged(AdjustmentEvent e),1. Java图形类与事件响应结构简介 续

19、17,组件名称 可支持的事件 Adjustable AdjustmentEvent Applet ContainerEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent Button ActionEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent Canvas FocusEvent, KeyEvent, MouseEvent, ComponentEvent Checkbox ItemEvent, FocusEvent, KeyEvent, MouseEvent, Compone

20、ntEvent CheckBoxMenuItem ActionEvent, ItemEvent Choice ItemEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent Component FocusEvent, KeyEvent, MouseEvent, ComponentEvent Container ContainerEVent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent Dialog ContainerEvent, WindowEvent, FocusEvent, Key

21、Event, MouseEvent, ComponentEvent FileDialog ContainerEvent, WindowEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent Frame ContainerEvent, WindowEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent,组件可以响应的事件,1. Java图形类与事件响应结构简介 续18,组件名称 可支持的事件 Label FocusEvent, KeyEvent, MouseEvent, Compone

22、ntEvent List ActionEvent, FocusEvent, KeyEvent, MouseEvent, ItemEvent, ComponentEvent Menu ActionEvent MenuItem ActionEvent Panel ContainerEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent, PopupMenu ActionEvent Scrollbar ActionEvent ScrollPanel ContainerEvent, FocusEvent, KeyEvent, MouseEvent

23、, ComponentEvent TextArea TextEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent TextComponent TextEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent TextField ActionEvent, TextEvent, KeyEvent, MouseEvent, ComponentEvent Window ContainerEvent, WindowEvent, FocusEvent, KeyEvent, MouseEvent,

24、 ComponentEvent,1. Java图形类与事件响应结构简介 续19,例1 一个多监听的例子。,1.7 Java事件适配器 用事件处理接口实现事件响应时,要求接口中的所有事件响应方法都必须被覆盖。java.awt.event包中还声明了一组带Adapter标记的类,称为适配器。 适配器是与接口相对应的抽象类,类中的成员函数与接口中的事件响应函数完全一样。由于适配器是类,因此在定义事件处理类时,只需要定义适配器类的派生类对象,并在派生类中重定义需要的事件处理函数。,1. Java图形类与事件响应结构简介 续20,Listener接口对应的Adapter抽象类,接口名称 适配器名称 Co

25、mponentListener ComponentAdapter ContainerListener ContainerAdapter FocusListener FocusApdapter KeyListener KeyAdapter MouseListener MouseAdapter MouseMotionListener MouseMotionAdapter WindowListener WindowAdapter,例2 将例1改造成Adapter类事件处理方式(演示)。,1. Java图形类与事件响应结构简介 续21,1.8 布局管理器 java组件不使用坐标这种绝对定位的形式,而使

26、用布局管理器(layout manaer)进行相对定位,使得程序界面能够自动适应不同分辨率的屏幕。 布局管理器是容器所具有的特性。每一种布局管理器都指定了一套组件的放置形式,适用于不同的场合。Java的布局管理器有以下四种: (1) FlowLayout 按行布局,将组件放在容器的一行上,当一行放满后就重新起一个新行。 (2)BorderLayout 东南西北中五区布局。 (3)GridLayout 将容器分有大小相等的若干行乘若干列的网络,组件从左至右,从上至下依次放入网格中,每个组件占一格。这种布局方式可视为一种网格。 (4)CardLayout 卡片式布局,将容器中的组件处理成一组卡片,

27、每一时刻只显示一张卡片,可以在卡片间进行切换。,1. Java图形类与事件响应结构简介 续22,默认布局管理器,java.awt.Component,Container,Window,Panel,Frame,Dialog,java.applet.Applet,BorderLayout,FlowLayout,1. Java图形类与事件响应结构简介 续23,FlowLayout布局管理器,(1) 构造方法 public FlowLayout() public FlowLayout(int align) public FlowLayout(int align, int hgap, int vgap)

28、 其中,align表示对齐方式,可以取以下三个值: FlowLayout.LEFT /左对齐 FlowLayout.RIGHT /右对齐 FlowLayout.CENTER /中对齐 hgap和vgap表示水平和垂直间隔,单位为像素。,1. Java图形类与事件响应结构简介 续24,(2) 设置布局 例如: FlowLayout flow=new FlowLayout(); Frame f=new Frame(); f.setLayout(flow); f.setLayout(new FlowLayout(); f.setLayout(new FlowLayout(FlowLayout.LEF

29、T); f.setLayout(new FlowLayout(FlowLayout.LEFT, 20, 40); (3)与该布局相适应的Container类放置组件的方法 public Component add(Component comp),1. Java图形类与事件响应结构简介 续25,BorderLayout布局管理器,(1) 构造方法 public BorderLayout() public BorderLayout(int hgap, int vgap) (2)与该布局相适应的Container类放置组件的方法 public Component add(String pos, Co

30、mponent comp) public Component add(Component comp, int pos) public Component add(Component comp) /默认center位置 pos串: “East“, “West“, “South“, “North“, “Center“ pos位置号: BorderLayout.EAST, BorderLayout.WEST, .,1. Java图形类与事件响应结构简介 续26,GridLayout布局管理器,(1) 构造方法 public GridLayout() public GridLayout(int row

31、s, int cols) public GridLayout(int rows, int cols, int hgap, int vgap) (2)与该布局相适应的Container类放置组件的方法 public Component add(Component comp),1. Java图形类与事件响应结构简介 续27,CardLayout布局管理器,(1) 构造方法 public GardLayout() public GridLayout(int hgap, int vgap) (2)与该布局相适应的Container类放置组件的方法 public Component add(Component comp) public Component add(Component comp, String cardname) (3)翻阅卡片的方法 first(Container c) last(Container c) next(Container c) show(Container c, String cardname),1. Java图形类与事件响应结构简介 续28,例3 CardLayout例子。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1