Java Applet基础:paint(), repaint()与update()方法详解

需积分: 10 11 下载量 74 浏览量 更新于2024-08-17 收藏 812KB PPT 举报
Java Applet是一种在Web浏览器中运行的可重载小应用程序,它是由Java编写并在服务器端编译后嵌入HTML页面中,当用户访问包含该Applet的网页时,Applet会在用户的计算机上本地执行。Applet的核心功能在于`paint()`方法,这是Applet的主要绘图接口,用于在用户界面上绘制图形或显示文本。 `paint(Graphics g)`方法接受一个`Graphics`对象作为参数,这个对象提供了对应用程序窗口或容器的图形上下文。当Applet首次显示或者在接收到焦点时,`paint()`方法会被自动调用,负责绘制Applet的初始界面或响应用户交互后的更新。例如,在示例代码中,`g.drawString("HelloJava", 30, 50);`这一行就是在绘图区(Graphics上下文)上绘制一条文本消息。 `repaint()`方法是一个关键的维护机制,当需要重新绘制Applet的一部分时,比如窗口大小改变或内容更新,开发者可以调用它来通知浏览器需要刷新。`repaint()`方法实际上会调用`update()`方法,后者默认行为是清除Applet区域并调用`paint()`,但可以通过抑制`update()`来控制更新过程。 Applet的生命周期通常包括以下几个阶段: 1. 初始化(init()):当Applet加载到浏览器时,会首先执行`init()`方法,进行必要的初始化设置和资源获取。 2. paint():如前所述,这是绘制Applet内容的核心方法,负责呈现用户界面。 3. 更新(update()):当需要更新Applet时,调用`repaint()`,浏览器会调用`update()`清除旧内容并调用`paint()`绘制新内容。 4. 关闭(destroy()):当Applet从浏览器卸载或用户离开网页时,`destroy()`方法会被调用,清理资源。 在实际开发中,Applet通常会继承自`java.applet.Applet`类,例如在提供的示例`App19_2`中,该类通过`extends Applet`表明其继承自Applet基类。为了在浏览器中展示Applet,你需要在一个HTML文件(如`App19_2.htm`)中使用`<APPLET>`标签,指定Applet的类名、宽度、高度等属性,并将其放置在与`.class`文件相同的目录下。 在HTML文件中,如`<APPLET CODE="App19_2.class" WIDTH="240" HEIGHT="170">...</APPLET>`部分,`CODE`属性指定了Applet的类名,浏览器根据这个信息寻找对应的.class文件。浏览器使用`appletviewer`工具可以单独测试Applet的运行,而`WIDTH`和`HEIGHT`属性则定义了Applet在浏览器中的可视区域。 此外,还可以通过`<PARAM>`标签传递参数给Applet,这些参数可以在`init()`方法中通过`getParameter()`方法获取。例如,如果在HTML中添加`<PARAM NAME="paramName" VALUE="paramValue">`,则可以在Applet中通过`String value = getParameter("paramName");`获取到传递的值。 Java Applet是Web开发中的一个重要组成部分,它允许开发者在浏览器环境中创建交互式应用程序,通过`paint()`方法实现丰富的图形渲染和用户界面设计。理解并掌握Applet的工作原理和生命周期管理对于构建动态网页至关重要。