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

上传人:汽*** 文档编号:580093577 上传时间:2024-08-28 格式:PPT 页数:30 大小:167.02KB
返回 下载 相关 举报
某公司JAVA培训(第三讲)2004年7月_第1页
第1页 / 共30页
某公司JAVA培训(第三讲)2004年7月_第2页
第2页 / 共30页
某公司JAVA培训(第三讲)2004年7月_第3页
第3页 / 共30页
某公司JAVA培训(第三讲)2004年7月_第4页
第4页 / 共30页
某公司JAVA培训(第三讲)2004年7月_第5页
第5页 / 共30页
点击查看更多>>
资源描述

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

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

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

3、结构简介续1java.awt AWT核心包,包括组件类,事件类等java.awt.event 提供事件类和监听器java.awt.color 定义颜色及其空间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类和接口(Ja

4、va2新增)java.awt.Robot 自动检测,自动演示 1.21.2 JavaJava图形类图形类图形类图形类java.lang.ObjectColor颜色类Font字体类Component组件类CheckBoxGroup复选框组类Image图像类MenuCoponent菜单组件类Graphics图形类BorderLayoutFlowLayoutGirdLayoutCardLayout布局类Label标签类TextComponent文本组件类CheckBox复选框类Choice 选择框类List列表框类Canvas画布类ScrollBar滚动条类Container容器类Button按钮类

5、Panel面板类Window窗口类Frame框架类Dialog对话框类Java.applet.Applet小程序类TextField文件行类TextArea文本区类FileDialog文件对话框类1. Java图形类与事件响图形类与事件响应结构简介应结构简介 续续21. Java图形类与事件响应结构简介续图形类与事件响应结构简介续3 1.31.3 设计和实现图形用户界面的主要工作设计和实现图形用户界面的主要工作设计和实现图形用户界面的主要工作设计和实现图形用户界面的主要工作 (1) 创建组件(Component) (2) 指定布局(Layout) (3) 响应事件(Event)MenuCopo

6、nent菜单组件类MenuItemMenuBarCheckBoxMenuItemMenuPopupMenu菜单组件的子类1. Java图形类与事件响应结构简介图形类与事件响应结构简介 续续4 1.41.4 容器与容器类组件容器与容器类组件容器与容器类组件容器与容器类组件(1)容器有一定范围,容器一般都是矩形,容器范围边界可以用边框框出来,有些则没有。(2)容器有一定位置,这个位置可以是屏幕四角的绝对位置,也可以是相对于其他容器边框的相对的位置。(3)容器通常都有一个背景,这个背景覆盖全部容器,可以透明,也可以指定一幅特殊的图案。(4)容器中可以包含其它的许多界面成分和元素。当容器被打开显示时,

7、它上面的成分和元素同时也被显示出来;当容器被关闭和隐藏时,它所包含的成分和元素也一起被隐藏。(5)容器可以按一定的规则来安排它所包含的元素,如这些元素的相对位置关系、它们的前后排关系等。(6)容器可以包含在其它容器中。1. Java图形类与事件响应结构简介图形类与事件响应结构简介 续续5容器类容器类的常用方法add(Component comp) 将指定组件放到容器中。remove(Component comp) 删除指定组件setLayout(LayoutManager mgr) 设置容器布局Frame类 Frame类的特点它是Window类的直接子类Frame对象显示的效果是一个窗口,带有

8、标题和尺寸。Frame被默认初始化为不可见的,可使用setVisible(true)方法使之变成可见。默认的布局管理器是BorderLayout,可以用setLayout()方法改变其默认的布局管理器。1. Java图形类与事件响应结构简介图形类与事件响应结构简介 续续6Panel类Panel类的特点它不是顶层窗口,必须位于窗口或其他容器之内。Panel可以容纳其他组件,在程序中经常用于布局和定位。Panel的默认布局管理器是FlowLayout,可使用setLayout()方法改变其默认布局管理器。Panel可以采用和所在容器不同的布局管理器。 1.51.5 JavaJava事件类事件类事件

9、类事件类Java语言中,所有的事件都定义在包java.awt.event中,用相应的类来表达不同的事件。1. Java图形类与事件响应结构简介续图形类与事件响应结构简介续7Java.lang.Objectjava.util.EventObjectjava.awt.AWTEvent抽象事件类ComponentEvent组件事件类ItemEvent选择事件类ActionEvent按钮事件类AdjustmentEvent数值调整事件类TextEvent文本框事件类FocusEvent焦点事件类InputEvent输入事件类ContainerEvent容器事件类WindowEvent窗口事件类KeyE

10、vent焦点事件类MouseEvent输入事件类Java事件类层次EventObject类的主要方法public Object getSource() /获得产生事件的组件1. Java图形类与事件响应结构简介图形类与事件响应结构简介 续续8ActionEvent类的主要方法public String getActionCommand() /获得按钮的标签Java常用事件类的说明1. Java图形类与事件响应结构简介图形类与事件响应结构简介 续续9 1.61.6 JavaJava事件响应机制事件响应机制事件响应机制事件响应机制JDK1.0的层次响应模型FramePanelButton单击事件如

11、左图所示:当事件发生时,首先生成一个事件对象,然后将事件对象传递给Button对象处理,如果Button对象没有处理该事件,则将事件对象传递给容器类(图中的Panel)对象处理,如果容器也没有处理,继续传给容器的容器(图中的Frame类)对象处理。1. Java图形类与事件响应结构简介图形类与事件响应结构简介 续续10JDK1.1以后的委托事件模型FramePanelButton单击事件如左图所示:当事件发生时,首先生成一个事件对象,然后将事件对象传递给处理该事件的类对象的监听方法,由监听方法进行事件处理。为了让事件对象正确传递到响应该事件的类对象,必须在实例化Button对象时,调用该对象的

12、注册事件监听对象方法。事件响应类对象的监听方法所有组件类都有注册事件监听对象方法,该方法的基本格式是public void add*Listener(响应该事件的对象)1. Java图形类与事件响应结构简介图形类与事件响应结构简介 续续11事件处理方法由系统预定义接口实现。接口的名称形如 *Listener 每个接口中包含1至多个事件处理方法,这些事件处理方法都是空函数,必须由完成事件处理的用户类来具体实现这些方法的代码。进行事件处理的类定义格式如下:class 类名 implements *Listener, . 实现接口*Listener中的所有方法 1. Java图形类与事件响应结构简介

13、图形类与事件响应结构简介 续续12名字中的*,就是事件类去掉Event后英文单词。比如:事件类名 ActionEvent 则对应的注册事件监听对象方法的名称一定是 addActionListener 对应的事件处理接口名称一定是 ActionListener 事件处理接口中的方法名称是由系统预先定义的,用户不能修改它,只能在自己的事件处理类中具体实例化这些方法。所有事件响应方法如下所示。事件处理接口与方法(1) ComponentListener public void componentMoved(ComponentEvent e) /移动组件时 public void componentH

14、idden(ComponentEvent e) /隐藏组件时 public void componentResized(ComponentEvent e) /改变组件大小时 public void componentShown(ComponentEvent e) /显示组件时(2) ContainerListener public void componentAdded(ContainerEvent e) /添加组件时 public void componentRemoved(ContainerEvent e) /移动组件时(3) WindowListener public void wind

15、owOpened(WindowEvent e) /打开窗口时 public void windowActivated(WindowEvent e) /激活窗口时1. Java图形类与事件响应结构简介图形类与事件响应结构简介 续续131. Java图形类与事件响应结构简介图形类与事件响应结构简介 续续14 public void widnowDeactivated(WindowEvent e) /窗口行动焦点时 public void windowClosing(WindowEvent e) /关闭窗口时 public void windowClosed(WindowEvent e) /关闭窗口

16、后 public void windowIconfield(WindowEvent e) /最小化成图标时 public void windowDeconified(WindowEvent e) /从图标恢复窗口时(4) ActionListener public void actionPerformed(ActionEvent e) /单击按钮,文本行中单击回车键,双击列表框选择菜单项时(5) TextListener public void textValueChanged(TextEvent e) 文本行、文本区中修改内容1. Java图形类与事件响应结构简介图形类与事件响应结构简介 续

17、续15 (6) ItemListener public void itemStateChanged(ItemEvent e) /选择复选框、选择框,单击列表框,选中带复选框的菜单项(7) MouseMotionListener (MouseEvent) public void mouseDragged(MouseEvent e) public void mouseMoved(MouseEvent e)(8) MouseListener public void mouseClicked(MouseEvent e) /单击鼠标时 public void mouseEntered(MouseEven

18、t 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 e) /按下键盘 public void keyReleased(KeyEvent e) /释放键盘 public void keyTyped

19、(KeyEvent e) /敲击键盘上的键(10) FocusListener public void focusGained(FocusEvent e) /获得焦点时 public void focusLost(FocusEvent e) /失去焦点时(11) AdjustmentListener public void adjustmentValueChanged(AdjustmentEvent e)1. Java图形类与事件响应结构简介图形类与事件响应结构简介 续续17组件名称 可支持的事件Adjustable AdjustmentEventApplet ContainerEvent,

20、FocusEvent, KeyEvent, MouseEvent, ComponentEventButton ActionEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEventCanvas FocusEvent, KeyEvent, MouseEvent, ComponentEventCheckbox ItemEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEventCheckBoxMenuItem ActionEvent, ItemEventChoice ItemEvent, Focu

21、sEvent, KeyEvent, MouseEvent, ComponentEventComponent FocusEvent, KeyEvent, MouseEvent, ComponentEventContainer ContainerEVent, FocusEvent, KeyEvent, MouseEvent, ComponentEventDialog ContainerEvent, WindowEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEventFileDialog ContainerEvent, WindowEvent,

22、FocusEvent, KeyEvent, MouseEvent, ComponentEventFrame ContainerEvent, WindowEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent组件可以响应的事件1. Java图形类与事件响应结构简介图形类与事件响应结构简介 续续18组件名称 可支持的事件Label FocusEvent, KeyEvent, MouseEvent, ComponentEventList ActionEvent, FocusEvent, KeyEvent, MouseEvent, ItemEve

23、nt, ComponentEventMenu ActionEventMenuItem ActionEventPanel ContainerEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent,PopupMenu ActionEventScrollbar ActionEventScrollPanel ContainerEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEventTextArea TextEvent, FocusEvent, KeyEvent, MouseEvent, Com

24、ponentEventTextComponent TextEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEventTextField ActionEvent, TextEvent, KeyEvent, MouseEvent, ComponentEventWindow ContainerEvent, WindowEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent1. Java图形类与事件响应结构简介图形类与事件响应结构简介 续续19例例1一个多监听的例子。一个多监听的例子。 1.71

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

26、pterContainerListener ContainerAdapterFocusListener FocusApdapterKeyListener KeyAdapterMouseListener MouseAdapterMouseMotionListener MouseMotionAdapterWindowListener WindowAdapter例例2将例将例1改造成改造成Adapter类事件处理方式类事件处理方式(演示演示)。1. Java图形类与事件响应结构简介图形类与事件响应结构简介 续续21 1.81.8 布局管理器布局管理器布局管理器布局管理器java组件不使用坐标这种绝对

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

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

29、int hgap, int vgap) 其中,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.se

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

31、)(2)与该布局相适应的与该布局相适应的Container类放置组件的方法类放置组件的方法 public Component add(String pos, Component 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图形类与事件响应结构简介图形类与事

32、件响应结构简介 续续26GridLayout布局管理器(1) 构造方法构造方法 public GridLayout() public GridLayout(int rows, int cols) public GridLayout(int rows, int cols, int hgap, int vgap)(2)与该布局相适应的与该布局相适应的Container类放置组件的方法类放置组件的方法 public Component add(Component comp)1. Java图形类与事件响应结构简介图形类与事件响应结构简介 续续27CardLayout布局管理器(1) 构造方法构造方法

33、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例例3CardLayout例子例子。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号