




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三讲 JavaApplet与JavaScript(一) Java Applet是一种工作在Internet浏览器上的Java程序。 Java Applet主要用来将Java程序插入到HTML网页中,在网 络上传输,并将其作为网页的一部分来执行。 JavaScript是直接嵌入到HTML网页中的基于Java语言的 前台脚本语言,它类似于VBScript。 本讲课程主要包括以下内容: 1. Java图形类与事件响应结构简介 1. Java图形类与事件响应结构简介 1.11.1 抽象窗口工具集抽象窗口工具集AWTAWT 设计Java图形用户界面(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图形类与事件响应结构简介 续1 java.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类和接口(Java2新增) java.awt.Robot 自动检测,自动演示 1.21.2 JavaJava图形类图形类 java.lang.Object Color 颜色类 Font 字体类 Component 组件类 CheckBoxGroup 复选框组类 Image 图像类 MenuCoponent 菜单组件类 Graphics 图形类 BorderLayout FlowLayout GirdLayout CardLayout 布局类 Label 标签类 TextComponent 文本组件类 CheckBox 复选框类 Choice 选择框类 List 列表框类 Canvas 画布类 ScrollBar 滚动条类 Container 容器类 Button 按钮类 Panel 面板类 Window 窗口类 Frame 框架类 Dialog 对话框类 Java.applet.Applet 小程序类 TextField 文件行类 TextArea 文本区类 FileDialog 文件对话框类 1. Java图形类与事件响 应结构简介 续2 1. Java图形类与事件响应结构简介 续3 1.31.3 设计和实现图形用户界面的主要工作设计和实现图形用户界面的主要工作 (1) 创建组件(Component) (2) 指定布局(Layout) (3) 响应事件(Event) MenuCoponent 菜单组件类 MenuItem MenuBar CheckBoxMenuItem MenuPopupMenu 菜单组件的子类 1. Java图形类与事件响应结构简介 续4 1.41.4 容器与容器类组件容器与容器类组件 (1)容器有一定范围,容器一般都是矩形,容器范围边界可 以用边框框出来,有些则没有。 (2)容器有一定位置,这个位置可以是屏幕四角的绝对位置 ,也可以是相对于其他容器边框的相对的位置。 (3)容器通常都有一个背景,这个背景覆盖全部容器,可以 透明,也可以指定一幅特殊的图案。 (4)容器中可以包含其它的许多界面成分和元素。当容器被 打开显示时,它上面的成分和元素同时也被显示出来;当容 器被关闭和隐藏时,它所包含的成分和元素也一起被隐藏。 (5)容器可以按一定的规则来安排它所包含的元素,如这些 元素的相对位置关系、它们的前后排关系等。 (6)容器可以包含在其它容器中。 1. Java图形类与事件响应结构简介 续5 容器类容器类的常用方法 add(Component comp) 将指定组件放到容器中。 remove(Component comp) 删除指定组件 setLayout(LayoutManager mgr) 设置容器布局 Frame类 Frame类的特点 它是Window类的直接子类 Frame对象显示的效果是一个窗口,带有标题和尺寸。 Frame被默认初始化为不可见的,可使用setVisible(true)方 法使之变成可见。 默认的布局管理器是BorderLayout,可以用setLayout()方法 改变其默认的布局管理器。 1. Java图形类与事件响应结构简介 续6 Panel类Panel类的特点 它不是顶层窗口,必须位于窗口或其他容器之内。 Panel可以容纳其他组件,在程序中经常用于布局和定位。 Panel的默认布局管理器是FlowLayout,可使用setLayout() 方法改变其默认布局管理器。 Panel可以采用和所在容器不同的布局管理器。 1.51.5 JavaJava事件类事件类 Java语言中,所有的事件都定义在包java.awt.event中, 用相应的类来表达不同的事件。 1. Java图形类与事件响应结构简介 续7 Java.lang.Object java.util.EventObject java.awt.AWTEvent 抽象事件类 ComponentEvent 组件事件类 ItemEvent 选择事件类 ActionEvent 按钮事件类 AdjustmentEvent 数值调整事件类 TextEvent 文本框事件类 FocusEvent 焦点事件类 InputEvent 输入事件类 ContainerEvent 容器事件类 WindowEvent 窗口事件类 KeyEvent 焦点事件类 MouseEvent 输入事件类 Java事件类层次 EventObject类的主要方法 public Object getSource() /获得产生事件的组件 1. Java图形类与事件响应结构简介 续8 ActionEvent类的主要方法 public String getActionCommand() /获得按钮的标签 Java常用事件类的说明 1. Java图形类与事件响应结构简介 续9 1.61.6 JavaJava事件响应机制事件响应机制 JDK1.0的层次响应模型 Frame Panel Button单击事件 如左图所示: 当事件发生时,首先 生成一个事件对象,然后 将事件对象传递给Button 对象处理,如果Button对 象没有处理该事件,则将 事件对象传递给容器类(图 中的Panel)对象处理,如果 容器也没有处理,继续传 给容器的容器(图中的 Frame类)对象处理。 1. Java图形类与事件响应结构简介 续10 JDK1.1以后的委托事件模型 Frame Panel Button 单击 事件 如左图所示: 当事件发生时,首先 生成一个事件对象,然后 将事件对象传递给处理该 事件的类对象的监听方法 ,由监听方法进行事件处 理。 为了让事件对象正确 传递到响应该事件的类对 象,必须在实例化Button 对象时,调用该对象的注 册事件监听对象方法。 事件响 应类对 象的监 听方法 所有组件类都有注册事件监听 对象方法,该方法的基本格式是 public void add*Listener(响应该事件的对象) 1. Java图形类与事件响应结构简介 续11 事件处理方法由系统预定义接口实现。接口的名称形如 *Listener 每个接口中包含1至多个事件处理方法,这些事件处理 方法都是空函数,必须由完成事件处理的用户类来具体实 现这些方法的代码。 进行事件处理的类定义格式如下: class 类名 implements *Listener, . 实现接口*Listener中的所有方法 1. Java图形类与事件响应结构简介 续12 名字中的*,就是事件类去掉Event后英文单词。比如 : 事件类名 ActionEvent 则对应的注册事件监听对象方法的名称一定是 addActionListener 对应的事件处理接口名称一定是 ActionListener 事件处理接口中的方法名称是由系统预先定义的,用 户不能修改它,只能在自己的事件处理类中具体实例化这 些方法。所有事件响应方法如下所示。 事件处理接口与方法 (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(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) /窗口行动焦点时 public 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) TextListener 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) MouseListener 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 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图形类与事件响应结构简介 续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, ComponentEvent CheckBoxMenuItem ActionEvent, ItemEvent Choice ItemEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent Component FocusEvent, KeyEvent, MouseEvent, ComponentEvent Container ContainerEVent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent Dialog ContainerEvent, WindowEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent FileDialog ContainerEvent, WindowEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent Frame ContainerEvent, WindowEvent, FocusEvent, KeyEvent, MouseEvent, ComponentEvent 组件可以响应的事件 1. Java图形类与事件响应结构简介 续18 组件名称 可支持的事件 Label FocusEvent, KeyEvent, MouseEvent, ComponentEvent 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, 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, ComponentEvent 1. Java图形类与事件响应结构简介 续19 例1 一个多监听的例子。 1.71.7 JavaJava事件适配器事件适配器 用事件处理接口实现事件响应时,要求接口中的所有事件响应方法 都必须被覆盖。java.awt.event包中还声明了一组带Adapter标记的类,称 为适配器。 适配器是与接口相对应的抽象类,类中的成员函数与接口中的事件 响应函数完全一样。由于适配器是类,因此在定义事件处理类时,只需 要定义适配器类的派生类对象,并在派生类中重定义需要的事件处理函 数。 1. Java图形类与事件响应结构简介 续20 Listener接口对应的Adapter抽象类 接口名称 适配器名称 ComponentListener ComponentAdapter ContainerListener ContainerAdapter FocusListener FocusApdapter KeyListener KeyAdapter MouseListener MouseAdapter MouseMotionListener MouseMotionAdapter WindowListener WindowAdapter 例2 将例1改造成Adapter类事件处理方式(演示)。 1. Java图形类与事件响应结构简介 续21 1.81.8 布局管理器布局管理器 java组件不使用坐标这种绝对定位的形式,而使用布局管理器(layout manaer)进行相对定位,使得程序界面能够自动适应不同分辨率的屏幕。 布局管理器是容器所具有的特性。每一种布局管理器都指定了一套 组件的放置形式,适用于不同的场合。Java的布局管理器有以下四种: (1) FlowLayout 按行布局,将组件放在容器的一行上,当一行放满后就 重新起一个新行。 (2)BorderLayout 东南西北中五区布局。 (3)GridLayout 将容器分有大小相等的若干行乘若干列的网络,组件从左 至右,从上至下依次放入网格中,每个组件占一格。这种布局方式可视 为一种网格。 (4)CardLayout 卡片式布局,将容器中的组件处理成一组卡片,每一时刻 只显示一张卡片,可以在卡片间进行切换。 1. Java图形类与事件响应结构简介 续22 默认布局管理器 java.awt.Component Container Window Panel FrameDialog java.applet.Applet BorderLayoutFlowLayout 1. Java图形类与事件响应结构简介 续23 FlowLayout布局管理器 (1) 构造方法 public FlowLayout() public FlowLayout(int align) public FlowLayout(int align, 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.setLayout(new FlowLayout(FlowLayout.LEFT); f.setLayout(new FlowLayout(FlowLayout.LEFT, 20, 40); (3)与该布局相适应的Container类放置组件的方法 public Component add(Component comp) 1. Java图形类与事件响应结构
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件外包服务合同标准模板
- 居民住宅买卖合同范本及签订注意事项
- 标准土石方爆破施工合同范本
- 2025-2030儿童艺术培训市场细分与商业模式创新研究报告
- 2025-2030儿童游乐园行业场地规划与安全运营及客流量提升分析报告
- 房地产租赁与物业管理合作协议
- 2025-2030儿童户外护具安全认证与家长购买决策报告
- 2025-2030儿童寝居用品市场舒适性需求升级与品牌营销策略发展趋势报告
- 2025-2030儿童体育培训市场消费趋势与投资价值评估报告
- 2025-2030儿童专注力训练方法论与教具研发趋势报告
- 电梯从业证考试试题及答案解析
- 第二十四届上海市青少年计算机创新应用竞赛 python校内选拔试题及答案
- 2024年武汉商学院公开招聘辅导员笔试题含答案
- 江苏省宿迁市泗阳县2024-2025学年高二下册期末调研测试语文试题【附答案】
- 2025年《传染病防治法》综合培训试题(附答案)
- 储能电站项目实施方案
- 墙布工厂工程定制方案(3篇)
- 2025年工勤技师考试题库及答案
- 新鲜的牛肉采购合同范本
- 2025至2030年中国室内亲子游乐场行业市场评估分析及投资发展盈利预测报告
- 运动员医疗保障体系-洞察及研究
评论
0/150
提交评论