Java Applet
Applet 是一种 Java 程序。它一般运行在支持 Java 的 Web 浏览器内。因为它有完整的 Java API支持,所以Applet 是一个全功能的 Java 应用程序。
Applet特点
- Applet 类继承了 java.applet.Applet 类
- Applet 类没有定义 main(),所以一个 Applet 程序不会调用 main() 方法
- Applet 被设计为嵌入在一个 HTML 页面
- 用户浏览含有Applet的HTML页面时,Applet代码会下载到电脑上
- 查看Applet需要JVM,或者浏览器的一个插件,并调用Applet生命周期中的方法
Applet生命周期
applet中四个方法提供一个框架
- init: 为 Applet 提供所需的初始化。在 Applet 标记内的 param 标签被处理后调用该方法。
- start: 浏览器调用 init 方法后,该方法被自动调用。返回到含 Applet 的页面时,则调用该方法。
- stop: 从含 Applet 的页面移除时,方法自动被调用。可以在相同的 Applet 中反复调用该方法
- destroy: 仅当浏览器正常关闭时调用。
- paint: 在 start() 方法调用之后立即被调用,或者在 Applet 需要重绘在浏览器的时候调用。paint() 方法实际上继承于 java.awt。
简单的applet程序:
import java.applet.*; //导入applet包 必须要有的
import java.awt.*;public class HelloWorldApplet extends Applet //继承Applet
{public void paint (Graphics g) {g.drawString ("Hello World", 25, 50);}
}
Applet 类
基础的 Applet 类提供了供衍生类调用的方法
执行了以下事件:
- 得到 Applet 的参数
- 得到包含 Applet 的 HTML 文件的网络位置
- 得到 Applet 类目录的网络位置
- 打印浏览器的状态信息
- 获取一张图片
- 获取一个音频片段
- 播放一个音频片段
- 调整此 Applet 的大小
Applet 类提供了一个接口 Viewer:
- 请求 Applet 作者、版本和版权的信息
- 请求 Applet 识别的参数的描述
- 初始化 Applet
- 销毁 Applet
- 开始执行 Applet
- 结束执行 Applet
必要的时候对方法进行重写。
Applet 的调用
Applet 是一个全功能的 Java 应用程序。
<html>
<title>The Hello, World Applet</title>
<hr>
<applet code="HelloWorldApplet.class" width="320" height="120"> <!-- width 和 height 用来指定 Applet 运行面板的初始大小--></applet>
<hr>
</html>
- HTML文件中嵌入 Applet
- Applet的参数的值需要在 <param> 标签里添加
- 不支持 Java 的浏览器不能执行 <applet> 和 </applet>。因此,在标签之间显示并且和 applet 没有关系的任何东西,在不支持的 Java 的浏览器里是可见的。
- codebase用来指定属性
<applet codebase="http://amrood.com/applets"
code="HelloWorldApplet.class" width="320" height="120">
获得applet参数
import java.applet.*;
import java.awt.*;
public class CheckerApplet extends Applet
{int squareSize = 50;// 初始化默认大小public void init () {}private void parseSquareSize (String param) {}private Color parseColor (String param) {}public void paint (Graphics g) {}
}//CheckerApplet 类的 init() 方法
public void init ()
{String squareSizeParam = getParameter ("squareSize");parseSquareSize (squareSizeParam);String colorParam = getParameter ("color");Color fg = parseColor (colorParam);setBackground (Color.black);setForeground (fg);
}
//私有的 parseSquareSize() 方法
private void parseSquareSize (String param)
{if (param == null) return;try {squareSize = Integer.parseInt (param);}catch (Exception e) {// 保留默认值System.out.println(e.getMessage); }
}
指定 applet 参数
<html>
<title>Checkerboard Applet</title>
<hr>
<applet code="CheckerApplet.class" width="480" height="320">
<param name="color" value="blue"><!--通过使用 <param> 标签的方法给 applet 指定了两个参数。-->
<param name="squaresize" value="30">
</applet>
<hr>
</html>
事件处理
Applet 类从 Container 类继承了许多事件处理方法,processKeyEvent() 和processMouseEvent(),用来处理特别类型的事件, processEvent()捕获所有事件的方法.
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.applet.Applet;
import java.awt.Graphics;public class ExampleEventHandling extends Appletimplements MouseListener {StringBuffer strBuffer;public void init() {addMouseListener(this);strBuffer = new StringBuffer();addItem("initializing the applet ");}public void start() {addItem("starting the applet ");}public void stop() {addItem("stopping the applet ");}public void destroy() {addItem("unloading the applet");}void addItem(String word) {System.out.println(word);strBuffer.append(word);repaint();}public void paint(Graphics g) {g.drawRect(0, 0, getWidth() - 1,getHeight() - 1);g.drawString(strBuffer.toString(), 10, 20);}public void mouseEntered(MouseEvent event) {}public void mouseExited(MouseEvent event) {}public void mousePressed(MouseEvent event) {}public void mouseReleased(MouseEvent event) {}public void mouseClicked(MouseEvent event) {addItem("mouse clicked! ");}
}
<html> <!--调用上面事件的applet-->
<title>Event Handling</title>
<hr>
<applet code="ExampleEventHandling.class"
width="300" height="300">
</applet>
<hr>
</html>
显示图片
使用 java.awt.Graphics 类的drawImage()方法。
import java.applet.*;
import java.awt.*;
import java.net.*;
public class ImageDemo extends Applet
{private Image image;private AppletContext context;public void init(){context = this.getAppletContext();String imageURL = this.getParameter("image");if(imageURL == null){imageURL = "java.jpg";}try{URL url = new URL(this.getDocumentBase(), imageURL);image = context.getImage(url);}catch(MalformedURLException e){e.printStackTrace();context.showStatus("Could not load image!");}}public void paint(Graphics g){context.showStatus("Displaying image");g.drawImage(image, 0, 0, 200, 84, null);g.drawString("www.javalicense.com", 35, 100);}
}
调用图片applet
<html>
<title>The ImageDemo applet</title>
<hr>
<applet code="ImageDemo.class" width="300" height="200">
<param name="image" value="java.jpg">
</applet>
<hr>
</html>
播放音频
Applet 能通过使用 java.applet 包中的 AudioClip 接口播放音频。AudioClip 接口定义了三个方法:
- public void play(): 从一开始播放音频片段一次。
- public void loop(): 循环播放音频片段
- public void stop(): 停止播放音频片段
为了得到 AudioClip 对象,必须调用 Applet 类的 getAudioClip() 方法。
import java.applet.*;
import java.awt.*;
import java.net.*;
public class AudioDemo extends Applet
{private AudioClip clip;private AppletContext context;public void init(){context = this.getAppletContext();String audioURL = this.getParameter("audio");if(audioURL == null){audioURL = "default.au";}try{URL url = new URL(this.getDocumentBase(), audioURL);clip = context.getAudioClip(url);}catch(MalformedURLException e){e.printStackTrace();context.showStatus("Could not load audio file!");}}public void start(){if(clip != null){clip.loop();}}public void stop(){if(clip != null){clip.stop();}}
}
调用音频applet
<html>
<title>The ImageDemo applet</title>
<hr>
<applet code="ImageDemo.class" width="0" height="0">
<param name="audio" value="test.wav">
</applet>
<hr>
Java Applet相关推荐
- java applet 官网_java applet
java applet[编辑] 概述 JavaApplet就是用Java语言编写的小应用程序,可以直接嵌入到网页中,并能够产生特殊的效果. 介绍 Java Applet就是用Java语言编写的一些小应 ...
- java applet js_jsp嵌入java-applet,实现js调用web服务器程序
1.applet介绍 Applet是一种Java的小程序,它通过使用该Applet的HTML文件,由支持Java的网页浏览器下载运行. 2.编写一个applet类 import java.applet ...
- Java Applet 基础
Java Applet 基础 Applet 是一种 Java 程序.它一般运行在支持 Java 的 Web 浏览器内.因为它有完整的 Java API支持,所以Applet 是一个全功能的 Java ...
- JAVA教程 第六讲 Java的线程和Java Applet(二)
6.3 Java Applet 前面的章节我们阐述了Application的应用,这一讲我们将介绍java的另一类应用java Applet,即java小应用程序. 在Java问世的头几年里,之所以如 ...
- Java网页小程序——Java Applet
Java Applet是编译过的Java程序,可以在所有支持Java的浏览器中运行. 1.Applet的使用 import java.applet.Applet; import java.awt.Gr ...
- java applet配置_配置Java Applet的运行环境
Java小程序,也就是Java Applet,可以在Web浏览器中运行.Java Applet必须以脚本的形式嵌入到HTML页面中,才能在web浏览器中运行. 之前总以为本地安装了JDK,指定好JAV ...
- java applet 游戏_Java Applet实现五子棋游戏
从谷歌的AlphaGo到腾讯的绝艺,从人脸识别到无人驾驶,从谷歌眼镜到VR的兴起,人工智能领域在不断的向前迈进,也在不断深入的探索.但背后错综复杂的技术和利益成本也是很多企业亟待解决的难题.对于人工智 ...
- java js隐藏_Javascript匿名函数是否仍然可见? (使用Java applet,这是一种隐藏JS代码的方法)...
我正在使用Javascript编写应用程序.我正在寻找一种隐藏代码的方法,我想我已经找到了一个使用Java Applet的代码. 无论如何,我认为只有在评估js匿名函数的代码后仍然无法以任何方式访问它 ...
- java applet 文本框_Java Applet 文本框 TextField 小例 | 学步园
一个Java Applet程序中必须有一个类是Applet类的子类,成为该子类是Java Applet的主类, 并且必须 是public class. Applet类是包java.applet中的一个 ...
- Java如何控制用户输入的长度,用Java Applet 进行Web编程时,如何限制输入域中可输入字符的长度!解决后马上给分!!!...
用Java Applet 进行Web编程时,如何限制输入域中可输入字符的长度!解决后马上给分!!! | create a new class FixLengthDocument extends Pla ...
最新文章
- Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析
- LwIP 之三 操作系统隔离接口 sys_arch
- strcpy完整版 与 strcpy为什么有返回值
- html中怎么远程控制小车,利用ESP8266远程控制小车 求大佬帮忙加段程序
- WinSock API相关函数
- PCIE设备与HOST之间的地址转换
- 台湾php解谜游戏,米诺陶(Minotaur):赛博朋克点击式解谜冒险类游戏
- asp.net session 超时设置
- Linux driver读书笔记(2) - Bus Types总线类型(mybus/mydevice/mydriver实例)
- idea 背景图插件
- 轻松获奖五一数学建模和蓝桥杯
- Grafana——》重置默认的登录密码
- About 速溶咖啡
- 在钉钉小程序中实现录音和播放功能实例
- 手机断触怎么办_手机屏幕断触怎么办?弹片微针模组解决手机屏幕测试难题
- SQL审核 | SQLE 二次开发环境搭建
- 手机QQ2008下载地址
- OAuth认证(完整版)
- HJ15 求int型正整数在内存中存储时1的个数(c++)
- 深圳正规的现货白银交易平台
热门文章
- c语言16进制与字符串互转,C语言版的16进制与字符串互转函数
- python继承封装多态简单理解_Python面向对象编程:封装、继承、多态(基础篇十)...
- python自回归模型_21向量自回归模型
- Principle 5.14 完美汉化版 Mac平台交互动效设计神器
- CentOS7镜像安装与下载
- Lifo管理系统(转载)
- 2022年最新四川建筑八大员(劳务员)模拟题库及答案
- 广电为什么禁止投屏_广电网络不能投屏 怎么投屏到电视上
- ES6/7 + Babel 编译器-郭永峰-专题视频课程
- 中国医院评审/评级标准及区别和特点