创建JApplet网页小程序.ppt

上传人:xt****7 文档编号:5336513 上传时间:2020-01-26 格式:PPT 页数:48 大小:1.12MB
返回 下载 相关 举报
创建JApplet网页小程序.ppt_第1页
第1页 / 共48页
创建JApplet网页小程序.ppt_第2页
第2页 / 共48页
创建JApplet网页小程序.ppt_第3页
第3页 / 共48页
点击查看更多>>
资源描述
第七章创建JApplet网页小程序 主要任务 介绍Java常用的系统类 包括JavaApplet 字符串类 输入输出流类 数学函数类 日期类 随机数类以及向量类等 本章主要内容 1 创建JApplet小应用程序2 添加组件3 组件布局管理4 Java处理事件的方式5 总结提高 7 1创建JApplet小应用程序 Applet是一种特殊的Java程序 经过编译后可被嵌入到HTML文件中 并由Web浏览器内置的Java解释器执行 所有Applet都继承自同一个类 java Applet Applet 这个类是Java语言的基础类 有关Applet的所有特性都被定义在这个类中 7 1 1与JApplet生命周期相关的基本方法 JApplet具有如下4个阶段的生命周期 初始化阶段 在浏览器中打开包含JApplet对象的页面时 创建并初始化其中的JApplet对象 开始阶段 显示JApplet时 启动JApplet线程运行 停止阶段 不显示JApplet时 停止JApplet线程运行 清除 销毁 阶段 在浏览器中关闭页面窗口时 销毁JApplet对象 JApplet类常用的6种方法 初始化init开始运行start停止运行stop清除destroy画出 显示 paint刷新repaint 7 1 2通过HTML网页给JApplet传递参数 JApplet类接收HTML传递参数的方法JApplet类是通过调用getParameter方法接收HTML传递的参数 getParameter方法的参数必须和HTML中由name指定的参数名相对应 由HTML文件指定参数值value 例如getParameter message 接收HTML文件中name message定义的参数 其值value 参数传递示例 数据类型转换 HTML文件中的参数值都被定义为字符串数据类型 而且加引号也可不加引号 在Java程序中如果需要得到数值型参数 对接收的字符串数据要进行转换 通过整型数类Integer的parseInt静态方法可将字符串数据转换为整型数据 如 Integer parseInt getParameter yPos HTML向Java程序传递参数的方法 HTML语言有一个标记 通过其属性可以指定嵌入的Java程序的有关内容 如果需要向JApplet传递参数 可通过子标记及属性来指定 属性name用来定义参数名 value用来定义参数值 7 1 3HTML的Applet标记及属性 1 标记及属性标记与属性的语法格式为 alternateHTML 2 标记的属性含义 code用来指定Applet字节码文件名 可省略扩展名 width和height用来指定Applet显示区域的大小 以像素点为计量单位 codebase用来指定Applet字节码文件路径 alt用来指定替换显示的文本内容 name用来指定Applet的实例化对象名 align用来指定Applet在浏览器窗口中的对齐方式 vspace和hspace用来指定Applet四周的间隔 以像素点为计量单位 vspace指定上下间隔 hspace指定左右间隔 param标签包含两个参数 name指定参数名 value指定参数值 alternateHTML用来指定可替换的HTML代码 3 通过标记自定义参数名与参数值在HTML文件中通过标记可以自定义参数名与参数值 例如实例7 3中定义了3个参数text size和color 并分别给出对应值 text指定显示文本 size指定文本的字号大写 color指定文本的颜色 4 数据类型的转换 7 2添加组件 组件 JComponent 是构成图形用户界面的基本要素 通过对不同事件的响应来完成和用户的交互或组件之间的交互 组件分为两类 一类是可以容纳其他组件的容器组件 例如Applet界面 JApplet界面 面板 窗口等 一类是基本组件 例如标签 按钮 文本框等 它们需要加入到容器组件中才能使用 7 2 1面板组件 1 Container类的内容面板对象创建内容面板对象c可以通过getContentPane 方法直接创建 2 JPanel类的普通面板对象普通面板对象p是通过JPanel类创建的 面板中组件布局默认也是边界布局 BorderLayout 通过setBounds x y w h 网格布局管理器可以指定其位置与大小 3 面板的作用面板与其他顶层容器不同 它是一个中间容器 它即是容器又是组件 它可以容纳其他组件 也可以添加到其他容器之中 一个窗口中可以添加多个面板对象分门别类的在其上添加其他组件 7 2 2面板组件 1 标签的构造方法JLabel 方法用来创建一个没有显示内容的标签对象 JLabel Stringtext 方法用来创建一个显示文字的标签对象 默认为居中排列 JLabel Stringtext intalignment 方法除了用来创建一个显示文字为text的标签对象外 并指定其排列方式 JLabel Iconimage 方法用来创建一个显示为图标的标签对象 默认为居中排列 JLabel Iconimage intalignment 方法用来创建一个显示为图标的标签对象 并指定其排列方式 2 标签的常用成员方法voidsetText Stringlabel 设置显示的字符串 StringgetText 返回当前显示的字符串 voidsetAlignment intalignment 设置对齐方式 voidsetFont Fontf 设置显示的字符串的字体 voidsetBackground Colorc 设置显示的字符串的背景颜色 voidsetForekground Colorc 设置显示的字符串的颜色 7 2 3按钮组件 Swing包中提供了标准按钮 JButton 类 按钮对象可以带有文字标题与图标 1 准备图片文件编写本应用程序要在 程序 图片 目录下先保存一个名称为2 gif的图片文件 2 按钮的构造方法JButton 创建一个没有标题的按钮 JButton Stringtext 创建一个带标题的按钮 JButton Iconimage 创建一个有图标的按钮 JButton Stringtext Iconimage 创建一个有标题 有图标的按钮 7 2 4文本框组件 使用文本框的不同构造方法 可以创建出不同类型的文本框 常用的构造方法如下 1 JTextField 创建一个默认宽度的文本框 2 JTextField intn 创建一个指定宽度的文本框 3 JTextField Stringtext 创建一个带有初始文本内容的文本框 4 JTextField Stringtext intn 创建一个带有初始文本内容并具有指定宽度的文本框 7 2 5文本区组件 1 文本区的构造方法JTextArea 创建默认大小的文本区 JTextArea introws intcolumns 创建指定行和列数的文本区 JTextArea Stringtext 创建带有初始文本内容的文本区 JTextArea Stringtext introws intcolumns 创建带有初始文本内容并具有指定行列数的文本区 2 文本区的常用方法publicvoidappend Stringstr 在文本区尾部添加文本 publicvoidinsert Stringstr intpos 在文本区指定位置插入文本 publicvoidsetText Stringt 设定文本区内容 会将原来的内容清除 publicintgetRows 返回文本区的行数 publicvoidsetRows introws 设定文本区的行数 publicintgetColumns 返回文本区的列数 publicvoidsetColumns intcolumns 设定文本区的列数 publicvoidsetEditable booleanb 设定文本区的读写状态 7 2 6单选按钮组件 使用Java提供的复选框 JCheckbox 组件可以让用户可以一次做出多项选择 1 单项按钮组件的构成单项按钮组件包含一组按钮对象 按钮对象处于选中或未选中两种状态 用户通过按钮只能选择其中的一个选项 单项按钮由JRadioButton类与ButtonGroup类的对象共同构成 JRadioButton单选用于设置各个单选选项 ButtonGroup对象用于维护一组互斥单选选项的关系 2 未实现的功能 7 2 7复选框组件 使用Java提供的复选框 JCheckbox 组件可以让用户可以一次做出多项选择 7 2 8下拉列表组件 下拉列表 JComboBox 与单选按钮类似 同样存在选中或未选中两种状态 使用下拉列表可以让用户在列表框的多个选项中选择一个选项 列表框的所有选项都是可见的 如果选项数目超出了列表框可见区的范围 则列表框右边会出现一个滚动条 通过下拉列表对象的方法setSelectedIndex 0 可以设置第一个选项为默认选项 7 3组件布局管理 使用Java提供的复选框 JCheckbox 组件可以让用户可以一次做出多项选择 7 3组件布局管理 组件是由布局管理器对象来管理的 通过容器的setLayout方法可以调出布局管理器来确定组件的存放位置 本节的内容主要介绍如何使用布局管理器确定存放在容器中组件的摆放位置 注意本节中使用的窗口对象都是在自定义类中直接创建的 同样可以通过JF0类来创建 那样可以统一主界面 7 3 1顺序布局管理器 顺序布局 FlowLayout 管理器是最基本的布局管理器 是容器指定的一个默认的布局管理器 它负责把组件一个接一个地从左到右顺序排列 一行排满后就转到下一行继续排列 在顺序布局管理器领导下 一个组件通过容器的add方法就可以把自己加入到容器的组件队列中 但顺序布局管理器功能有限 不能很好地控制组件的排列 所以常用在组件较少的情况下 7 3 2边界布局管理器 边界布局 BorderLayout 把容器 这里是Applet 分为五个区 北区 南区 东区 西区和中区 这几个区的分布规律是 上北下南 左西右东 与地图的方位相同 组件可以指定自己放在那个区内 因为只有5个区 所以最多只能容纳5个组件 否则要采取其它布局方式 例7 1本例应用程序用来创建一个使用边界布局管理器存放组件的窗口 程序运行结果如图所示 importjavax swing JFrame importjavax swing importjava awt publicclassBLextendsJFrame BorderLayoutbl newBorderLayout 创建BorderLayout布局管理器对象JButtonbN bS bW bE bC publicBL super 布局管理器 setSize 300 200 setDefaultCloseOperation JFrame EXIT ON CLOSE 创建5个按钮对象bN newJButton 北 bS newJButton 南 bE newJButton 东 bW newJButton 西 bC newJButton 中 Containerc getContentPane 创建内容面板c setLayout bl 设置内容面板的布局管理器为布局管理器c add North bN c add South bS c add East bE c add West bW c add Center bC setVisible true publicstaticvoidmain String args BLd newBL 说明 在add方法中 第1个参数表示组件的摆放位置 必须从North South East West Center中选择一个 第2个参数是组件对象名 运行结果显示 边界布局管理器 7 3 3卡片布局管理器 卡片布局 CardLayout 管理器可以管理多个组件 它将组件像卡片一样叠放起来 每次只显示一个 因此需要使用某种方法翻阅这些卡片 例7 2本例应用程序用来创建的窗口分为两个层次 最底层为内容面板对象 在其上面使用边界布局管理器在中间存放了一个面板对象pane 在下方存放了一个名称为 选择卡片 的按钮对象button 程序运行结果如图所示 运行结果显示 使用卡片布局管理器的窗口 importjava awt importjava awt event importjavax swing publicclassCLextendsJFrame JPanelpane newJPanel JButtonbutton newJButton 选择卡片 CardLayoutcard newCardLayout publicCL super 使用卡片布局管理器的窗口 setSize 300 200 setDefaultCloseOperation JFrame EXIT ON CLOSE pane setLayout card 为面板pane调出卡片布局管理器 通过循环语句直接将创建出的5个按钮对象添加到pane面板上for inti 1 i 5 i pane add String valueOf i newButton 卡片号为 i card show pane String valueOf 1 Containerc getContentPane c add pane BorderLayout CENTER 为内容面板c调出边界布局管理器c add button BorderLayout SOUTH 在注册监听器同时创建ActionListener接口对象button addActionListener newActionListener publicvoidactionPerformed ActionEvente card next pane setVisible true publicstaticvoidmain String arguments CLct newCL 7 3 4网络布局管理器 网格布局 GridLayout 管理器把容器区域分成若干个网格 每个网格可以放置一个组件 这种布局方式对数量众多的组件很合适 例7 3本例应用程序用来创建的窗口在内容面板对象上使用网格布局管理器划分了3行3列 9个网格 存放了6个按钮对象 3个标签对象 如果要在网格之间添加间距 例如创建GridLayout 3 3 10 10 对象时设置网格之间距离为10个点距 使用网格布局管理器的窗口 运行结果显示 7 3 5组件的精确定位方式 存放组件也可以不用布局管理器 即使用setLayout null 方法使布局管理器为空 这时可以使用setBounds intx inty intw inth 方法精确指出组件在容器中的存放位置 例7 4本例应用程序用来创建的窗口在内容面板对象上使用精确定位方式指定了组件的存放位置与大小 使用精确定位方式指定组件的存放位置 运行结果显示 7 4Java处理事件的方式 7 4 1单击事件的处理方式 1 引入事件类包 2 包含事件处理方法的内部类 3 被包容类 4 监听器对象 5 单击事件类ActionEvent的常用方法 7 4 2选择事件的处理方式 在处理选项被选中的事件时 需要实现ItemListener事件接口类中的itemStateChanged ItemEvente 方法 通过addItemListener h 方法可将监听器注册到选项按钮上 当选项事件发生时 监听器对象h会调用itemStateChanged方法执行指定任务 可见 事件处理的关键是创建监听器类与对象 7 4 3通过匿名类创建监听器对象 建匿名类有两个步骤 1 使用实例化操作运算符newItemListener 创建对象 2 覆盖ItemListener 构造方法 在该方法内实现了ItemListener接口类的itemStateChanged方法 这是匿名类的一种典型使用方式 7 5总结提高 7 5 1JApplet的特点1 JApplet只能在Web浏览器上运行2 对JApplet与Applet的限制这些限制有以下几个方面 1 不能加载库函数或定义本地方法 2 不能读写本地计算机上的文件系统 3 除了下载它的服务器外不能和其它主机建立网络通讯 4 不能运行本地计算机上的任何程序 5 不能读取某些系统特性 6 JApplet Applet打开的窗口和Application打开的窗口在外观上有所不同 3 JApplet与Applet的特殊功能下面列出了JApplet与Applet能够做的事情 1 可以和它所在的Web服务器建立网络连接 2 能使Web浏览器方便地显示HTML文档内容 3 离开网页后JApplet与Applet可以继续运行也可以停止运行 4 可在状态栏显示短信息 5 可以调用同一个网页上的其它Applet中的公共方法 6 可以播放声音文件 7 可以从HTML的标签中获取参数 7 5 2Java的事件处理机制 1 事件在图形用户界面中 程序和用户的交互是通过组件响应各种事件来实现的 例如 用户单击了一个按钮 意味着发生了按钮的单击事件 选中下拉列表中的一个选项 意味着发生了一个选项事件 2 事件处理方法当发生事件时做出反应 需要编写一个或多个对应的事件处理方法 通过监听器对象可以对事件源对象进行监听 当监听到事件发生时 就可以调用事件处理方法处理事件问题 3 事件处理模型 事件处理模型分为3个部分 事件源对象 事件监听器对象与事件对象 能产生事件的组件叫做事件源 如按钮 事件监听器注册在事件源对象 按钮或包含按钮的容器 上 用来监听事件是否发生 当事件发生时将调用事件处理方法解决问题 事件对象用来封装已发生的事件的信息 在事件发生后 将信息传递给事件处理方法进行处理 事件监听器对象是一个实现了相应事件接口类所有事件方法的类 例如例8 5中BHandler类就是一个事件监听器类 它实现了单击事件接口类ActionListener的actionPerformed ActionEvente 抽象方法 因此 可以通过BHandler类创建出事件监听器对象h 事件监听器对象具有两个功能 监听事件是否发生 发生后使用事件处理方法解决问题 事件对象是由系统自动创建的 7 5 3Java的常用事件接口与接口方法 Java将所有组件可能发生的事件进行了分类 具有共同特征的事件被抽象为一个事件类Event或事件接口 它们用来处理该类组件发生的事件 事件接口类中定义了一些抽象的方法来统一处理某一类事件 因此在设计事件监听器类时必须实现或覆盖这些抽象处理方法 1 创建顶层容器 通过Java提供的JApplet Applet JFrame Frame等类 可以创建容器组件对象 为基本组件提供存放的空间界面 2 创建内容面板 设置其背景颜色 设置其布局管理器 3 创建普通面板 设置其背景颜色 设置其位置 大小 设置其布局管理器 4 创建基本组件 例如标签 按钮 文本框等 设置其背景颜色 设置其位置 大小 字体等 5 将面板添加到容器 将组件添加到指定面板 6 根据事件类或事件接口创建事件监听器对象 覆盖事件接口方法 7 给事件源注册监听器 使对象之间可以传递消息 对发生的事件做出反应 完成具体的任务 7 5 4创建容器与组件基本步骤 上机练习 1 编写一个JApplet 在其中添加标签 按钮 文本区组件 分别放置在窗口的上 左 中部位 为组件添加事件处理功能 要求在文本框中输入字符串 当按下回车键或点击按钮时 将输入的文字显示在文本区中 2 编写一个JApplet程序 可以选择颜色 不同字体显示文本文字 3 编写一个模拟计算器的JApplet 使用面板和网格布局 添加一个文本框 10个数字按钮 0 9 4个加减乘除按钮 一个等号按钮 一个清除按钮 要求将计算公式和结果显示在文本框中
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!