java怎么运行applet
- 后端开发
 - 2025-08-02
 - 3728
 
appletviewer工具,编写含“标签的HTML
是关于如何在Java中运行Applet的详细指南,涵盖从环境准备到实际执行的完整流程:
前期准备与验证
- 安装JDK/JRE:需先下载并安装Java开发工具包(JDK)或仅运行环境(JRE),可通过命令行输入
java -version验证是否成功安装——若显示版本号则说明配置正常,建议使用最新稳定版以兼容现代浏览器的安全策略。 - 理解Applet特性:不同于普通Java应用程序以
main()方法作为入口点,Applet必须继承自java.applet.Applet类,且其生命周期由浏览器或专用工具管理,主要依赖init()、start()、stop()和destroy()四个核心方法控制执行流程。 
创建与编译Applet程序
编写源代码
创建一个扩展名为.java的文件(如MyApplet.java需包含必要的导入语句及类定义。
import java.applet.Applet;
import java.awt.Graphics;
public class MyApplet extends Applet {
    @Override
    public void init() {
        // 初始化资源,如加载图片或设置初始状态
    }
    @Override
    public void start() {
        // 启动动画线程或事件监听
    }
    @Override
    public void paint(Graphics g) {
        // 绘制图形,例如文字、形状等
        g.drawString("Hello, Java Applet!", 50, 50);
    }
    @Override
    public void stop() {
        // 暂停运行时释放部分资源
    }
} 
注意:所有Applet类必须是public的,否则无法被外部加载器识别。
编译生成字节码文件
打开命令提示符(Windows)或终端(macOS/Linux),切换至源码所在目录,执行编译命令:
javac MyApplet.java
若编译成功,将生成对应的.class文件(本例中为MyApplet.class),此文件包含可被虚拟机解释执行的字节码指令。
嵌入HTML页面
为了让浏览器能够识别并加载Applet,需要创建一个HTML文件作为容器,基础结构如下:
| 标签属性 | 作用 | 示例值 |
|—————-|————————–|———————–|
| code | 指定主类的字节码文件名 | MyApplet.class |
| width | 定义显示区域的宽度(像素)| 400 |
| height | 定义显示区域的高度(像素)| 300 |
完整示例代码如下:
<!DOCTYPE html>
<html>
<head>我的第一个Java Applet</title>
</head>
<body>
    <applet code="MyApplet.class" width="400" height="300"></applet>
</body>
</html> 
保存时建议将文件命名为英文或数字组合(如index.html),避免中文路径可能导致的兼容性问题。
两种运行方式对比
| 方法 | 适用场景 | 操作步骤 | 注意事项 | 
|---|---|---|---|
| 浏览器直接加载 | 模拟真实网页部署效果 | 双击HTML文件用默认浏览器打开;或通过本地服务器访问 | 确保浏览器启用了Java插件支持 | 
| AppletViewer工具 | 快速测试与调试 | 在命令行输入appletviewer index.html |  
   无需启动浏览器,适合独立验证功能 | 
当使用浏览器时,如果出现安全警告提示“未信任的应用”,需手动允许运行,某些高版本浏览器可能已默认禁用NPAPI插件,此时推荐使用appletviewer进行测试。
常见问题排查
- 黑屏无显示:检查HTML文件中
code属性是否与生成的.class文件名完全一致;确认paint()方法内是否有有效的绘图逻辑。 - 插件未加载:进入浏览器设置 > Internet选项 > 高级标签页,勾选“使用Java 2 Plug-in启用小程序”;同时检查系统防火墙是否拦截了相关进程。
 - 参数传递失败:如需向Applet传递自定义参数,可在
<applet>标签内添加<param>子标签,<param name="message" value="欢迎学习Java!">
并在代码中通过
getParameter("message")获取值。 
FAQs
Q1: 为什么我的电脑已经装了JDK,但浏览器还是提示找不到Applet?
A: 可能原因有两个:① HTML文件中指定的.class路径错误(区分大小写);② 高版本Chrome等现代浏览器已移除对NPAPI的支持,解决方案:优先使用JDK自带的appletviewer工具测试,或更换为Edge/Firefox等仍支持Java插件的浏览器。
Q2: Applet能响应用户的鼠标点击事件吗?怎么实现?
A: 可以,通过重写mouseClicked()方法(需实现MouseListener接口),并在init()中注册监听器,示例代码片段:
addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent e) {
        System.out.println("坐标位置:" + e.getX() + "," + e.getY()); 
			
			
			
			
			