当前位置: 主页 > JAVA语言

java小程序-java比较炫的小程序

发布时间:2023-05-18 09:19   浏览次数:次   作者:佚名

Java小应用程序:Java程序可以嵌入到网页中运行的Java程序

Java小应用程序中没有main方法,所有的小应用程序都是javax.swing.JApplet类或者它的超类(Java.applet.Applet)的子类。选择JApplet类可以支持swing。定义一个小应用程序类如下所示:

Public class My Applet extends javax.swing.JApplet{
//代码
}

MyApplet必须是public的,它继承了JApplet类。当浏览器遇到了Java小应用程序时,将加载相应的类,并调用不同的方法。

java小程序_java比较炫的小程序_java经典小程序实例

当小应用程序运行时,若有特定的事件发生,则调用小应用程序的不同方法。

最主要的5个方法:初始化、启动、停止、销毁和绘制

java比较炫的小程序_java经典小程序实例_java小程序

(1)、初始化。加载小应用程序的时候将进行初始化的工作,程序员编写的小应用程序需要重载init()方法。

(2)启动。小应用程序初始化完毕后将启动,当用户返回到小应用程序所在的页面时,也会启动小应用程序。在小应用程序的生命周期中可以启动多次,但初始化仅出现一次。小应用程序需要重载start()方法来提供启动行为。

java小程序_java比较炫的小程序_java经典小程序实例

(3)停止。停止和启动是成对出现的,当用户离开小应用程序所在的页面时,小应用程序停止,stop()也应该被重载来实现小应用程序的停止行为。

(4)销毁。销毁destroy()使得小应用程序从内存中释放java小程序,或者在浏览器退出的时候清除。如果有特殊的资源需要释放java小程序,可以重载destroy()方法。因为Java提供了管理内存的自动回收垃圾回收程序,所以一般不使用destroy()方法。

java经典小程序实例_java小程序_java比较炫的小程序

(5)绘制。绘制是指小应用程序可以在屏幕上显示内容,绘制方法paint()也会被调用很多次。Paint()也应该被重载以说明小应用程序如何绘制内容。

小应用程序嵌入在网页中,HTML中的标记就是对HTML的特殊扩展,表明在网页中包含Java小程序。例如:

java比较炫的小程序_java小程序_java经典小程序实例

A applet example

这是一个HTML代码,其中标签applet表明此页面要加载一个小应用程序的类MyApplet.class。

一个applet应用的小例子:

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.util.GregorianCalendar;
import javax.swing.JApplet;
public class MyApplet extends JApplet{
    private Color cl=new Color(255,204,102);
    private String lastTime="",
    public void init(){
        setBackground(Color.black);
    }
    public void paint(Graphics g){
        Graphics2D screen2D=(Graphics2D)g;
        Font type=new Font("Monospaced",Font.BOLD,20);
        screen2D.setFont(type);
        GregorianCalendar day=new GregorianCalendar();
        String time=day.getTime().toString();
        screen2D.setColor(Color.BLACK);
        screen2D.drawString(lastTime,5,25);
        screen2D.setColor(cl);
        screen2D.drawString(lastTime,5,25);
        try{
            Thread.sleep(1000);
        }
        catch(InterruptedException e){
        }
        lastTime=time;
        repaint();
    }
}