Java小程序的生命周期
小程序是可以嵌入到网页中的Java程序。它在 Web 浏览器中运行并在客户端运行。小程序使用 APPLET 或 OBJECT 标记嵌入到 HTML 页面中,并托管在 Web 服务器上。小程序的整个生命周期由小程序容器管理。所有小程序都是Java.applet.Applet 类的子类(直接或间接)。小程序不是独立的程序。它们在网络浏览器或小程序查看器中运行。
- 小程序生成动态内容
- 小程序在客户端工作
- 响应时间快
我们可以借助名为Applet Viewer的标准小程序查看器工具查看我们的小程序。与Java程序的一般执行和输出不同,applet 的执行不是从 main() 方法开始的,而且 System.out.println() 不满足 applet 窗口的输出。相反,它是通过各种抽象窗口工具包 (AWT) 方法处理的,例如 drawString()。
在进入Java小程序生命周期的各个阶段之前,让我们看看 Applet 的层次结构,如下媒体所示:
Java Applet 生命周期中的阶段
- 初始化小程序
- 启动小程序
- 绘制小程序
- 停止小程序
- 销毁小程序
Note: In order to implement the Applet we need to import awt package :
小程序的生命周期
第 1 步:初始化
java.awt.applet.*;
There is no main method unlike our normal java programs. Every Applet will start it’s execution from init() method. It is executed only once
第 2 步:开始
public void init()
After init() method start() method is invoked. Executed when the browser is maximized
第3步:油漆
public void start()
Paint method is used to display the content on the applet. We can create the objects or components to the applet or we can directly write a message on the applet. It will take Graphics class as a parameter.
第 4 步:停止
public void paint (Graphics g)
stop() method is used to stop the applet. It is executed when the browser is minimized.
第 5 步:销毁
public void stop()
destroy() method is used to completely close the applet. It is executed when the applet is closed.
执行:
Java Applet的实现可以通过以下两种方式完成:
- 使用 HTML 文件
- 小程序查看器工具
方式一:使用 HTML 文件
HTML
public void destroy()
Java
Java
Class AppletLifeCycle extends Applet
{
public void init()
{
// Initializes objects
}
public void start()
{
// Starts the applet code
}
public void paint(Graphics graphics)
{
// Any shape's code
}
public void stop()
{
// Stops the applet code
}
public void destroy()
{
// Destroys the applet code
}
}
HTML
// Java Program to Make An Applet
// Importing required classes from packages
import java.awt.*;
import java.awt.applet.*;
// Class 1
// Helper class extending Applet class
public class AppletDemo extends Applet
// Note: Every class used here is a derived class of applet,
// Hence we use extends keyword Every applet is public
{
public void init()
{
setBackground(Color.black);
setForeground(Color.yellow);
}
public void paint(Graphics g)
{
g.drawString("Welcome", 100, 100);
}
}
// Save file as AppletDemo.java in local machine
Java
Note: Drawbacks of using HTML file is you need a plugin (java plugin) to run it on your browser.
方式二:小程序查看器工具
小程序生命周期的方法:
Applet生命周期有五种方法,即;
- 在里面()
- 开始()
- 画()
- 停止()
- 破坏()
所有这些都在 AWT 包Java.awt.applet.*中可用,为了导入油漆(图形 g),我们确实使用Java.awt.component包
让我们详细了解每种方法:
方法一: init()
- 这是第一个被调用的方法
- 变量可以在这里初始化
- 此方法在小程序运行期间只能调用一次
- 在初始化时调用
句法:
// Java Program to Illustrate Insertion of HTML File in
// Applet As Commands
// Importing required classes
import java.applet.*;
import java.awt.*;
// Note: Insertion of HTM:L file as comments
/* */
// Java Program
// Class extending Applet
public class AppletDemo extends Applet {
public void init()
{
setBackground(Color.black);
setForeground(Color.yellow);
}
public void paint(Graphics g)
{
g.drawString("Welcome to Applets", 50, 50);
}
}
方法二: start()
- 此方法在 init() 方法之后调用
- start() 方法用于启动小程序
- 它也被称为在一个小程序停止后重新启动它。即恢复小程序
句法:
public void init()
{
// To initialize objects
}
Note: init() is called once i.e. when the first time an applet is loaded whereas start( ) is called each time an applet’s HTML document is displayed onscreen.
方法三:paint()
public void start()
{
// To start the applet code
}
- paint() 方法用于绘制任何形状,如正方形、矩形、梯形等。
- paint() 方法有一个Graphics Class 类型的参数,这个Graphics 类启用了applet 中的绘画功能。
- 此参数将包含图形上下文,当需要小程序的输出时使用该上下文。
句法:
void paint(Graphics g){ }
Note: This is the only method among all the method mention above, which is parameterized.
方法四: stop()
- 每次浏览器停止、最小化或应用程序发生突然故障时都会调用它。
- 调用 stop() 方法后,我们也可以随时使用 start() 方法。
- 此方法主要处理清理代码。
- 当 Web 浏览器离开包含小程序的 HTML 文档转到另一个页面时,将调用 stop() 方法,例如,当调用 stop() 时,小程序可能正在运行。当applet 不可见时,您应该使用stop() 来挂起不需要运行的线程。如果用户返回页面,您可以在调用 start( ) 时重新启动它们。
句法:
public void paint(Graphics graphics)
{
// Any shape's code
}
方法五: destroy()
- destroy() 方法用于在我们完成小程序工作后销毁应用程序。它只能被调用一次。
- 一旦小程序被销毁,我们就不能启动()小程序(我们不能再次恢复小程序)
- 当环境确定您的小程序需要从内存中完全删除时,会调用 destroy() 方法。
句法:
public void stop()
{
// To stop the applet code
}
Note: The stop( ) method is always called before destroy( )
语法:整个 Applet 生命周期
Java
public void destroy()
{
// To destroy the applet
}
执行:
示例 1 :为了从Java Applet 开始,让我们了解一个简单的代码来制作Applet
Java
Class AppletLifeCycle extends Applet
{
public void init()
{
// Initializes objects
}
public void start()
{
// Starts the applet code
}
public void paint(Graphics graphics)
{
// Any shape's code
}
public void stop()
{
// Stops the applet code
}
public void destroy()
{
// Destroys the applet code
}
}
HTML
// Java Program to Make An Applet
// Importing required classes from packages
import java.awt.*;
import java.awt.applet.*;
// Class 1
// Helper class extending Applet class
public class AppletDemo extends Applet
// Note: Every class used here is a derived class of applet,
// Hence we use extends keyword Every applet is public
{
public void init()
{
setBackground(Color.black);
setForeground(Color.yellow);
}
public void paint(Graphics g)
{
g.drawString("Welcome", 100, 100);
}
}
// Save file as AppletDemo.java in local machine
编译方法:
现在为了生成输出,请按照下面的签名来编译和运行上面的文件:
方法一:使用命令
方法二:在我们的Java程序中包含applet代码。
方法如下:
方法一:使用命令
汇编:
c:> javac.AppletDemo.java
执行:
方法 2:在我们的Java程序中包含 applet 代码 确保将此 html applet 代码作为注释,因为它很重要,如下所示:
例子
Java
Double click on Applet.html
This won't work on browser as we don't have the proper plugins.
汇编:
// Java Program to Illustrate Insertion of HTML File in
// Applet As Commands
// Importing required classes
import java.applet.*;
import java.awt.*;
// Note: Insertion of HTM:L file as comments
/* */
// Java Program
// Class extending Applet
public class AppletDemo extends Applet {
public void init()
{
setBackground(Color.black);
setForeground(Color.yellow);
}
public void paint(Graphics g)
{
g.drawString("Welcome to Applets", 50, 50);
}
}
执行:
c:\> javac AppletDemo.java
所以这就是关于Java Applet 的生命周期和用于运行 applet 的方法的全部内容!希望这可以帮助。