Java图形编程:Applet详解与安全特性
版权申诉
30 浏览量
更新于2024-07-01
收藏 168KB PPTX 举报
"Java程序设计中的图形编程主要聚焦于Applet,这是一种特殊的Java程序,能够在浏览器环境下运行。Applet与传统的Java Application的主要差异在于启动方式,Application由main()方法启动,而Applet则需借助HTML文件在浏览器中加载和执行。
要创建一个Applet,你需要继承java.applet.Applet或javax.swing.JApplet类。例如,下面展示了一个简单的"HelloWorld" Applet:
```java
import java.awt.Graphics;
import java.applet.Applet;
public class HelloWorld extends Applet {
String hw_text;
public void init() {
hw_text = "HelloWorld";
}
public void paint(Graphics g) {
g.drawString(hw_text, 25, 25);
}
}
```
这个Applet会在画布上显示文本"HelloWorld"。为了运行Applet,首先需要编译源代码,生成字节码,然后创建一个HTML文件来指示浏览器加载并运行Applet。例如,HTML文件`hello.html`可能如下所示:
```html
<HTML>
<applet code="HelloWorld.class" width=300 height=300></applet>
</HTML>
```
执行Applet有两种方式:一是通过浏览器打开包含Applet的HTML文件;二是使用JDK自带的`appletviewer`工具打开HTML文件。
安全是Applet的一个重要特性。由于运行在用户的机器上,JVM为Applet提供了沙箱环境,限制了它的某些能力,以防止恶意行为。Applet不能执行的操作包括:
- 调用其他应用程序
- 进行文件输入/输出操作
- 调用本地代码
- 与Applet所在主机之外的机器通信
Applet的生命周期包含几个关键阶段,这些阶段通过特定的方法表示:
1. `init()`:Applet创建时,由虚拟机自动调用,用于初始化数据。
2. `start()`:当Applet开始运行时调用,例如,当用户导航到包含Applet的页面时。
3. `paint(Graphics g)`:绘制Applet内容,每次需要更新显示时调用。
4. `stop()`:当Applet不再可见或浏览器离开包含Applet的页面时调用,停止Applet的运行。
5. `destroy()`:当Applet不再需要时,系统会调用此方法释放资源。
理解并掌握这些方法和Applet的生命周期对于编写交互式和动态的Web图形组件至关重要。在实际应用中,开发者可以利用Applet实现各种丰富的网络应用程序,如动画、游戏、表单处理等。尽管现代Web开发中Applet的使用已逐渐减少,但其原理和概念对于理解Java图形编程和客户端技术的发展历程仍然具有重要意义。
2023-05-31 上传
2023-06-06 上传
2023-03-16 上传
错误: 找不到或无法加载主类 sun.applet.appletviewer 原因: java.lang.classnotfoundexception: sun.applet.appletviewer
2023-06-28 上传
2023-03-16 上传
2023-06-28 上传
![](https://profile-avatar.csdnimg.cn/77de0adf71de4b419dfa799bbafeea65_wxg520cxl.jpg!1)
wxg520cxl
- 粉丝: 24
- 资源: 3万+
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储