So starten Sie ein Applet, um ein anderes Applet zu starten

So starten Sie ein Applet: Starten Sie ein anderes Applet

In bestimmten Szenarien benötigen Sie möglicherweise ein vorhandenes Applet, um ein anderes Applet zu starten und andere Aufgaben auszuführen.

Hier sind zwei Dateien zur Demonstration

1. AppletExample1.java
2. AppletExample2.java

Das "AppletExample1.java" enthält einen "Thread" und startet "AppletExample2.java" nach 5 Sekunden.

1. AppletExample1.java

package com.example.applet;

import java.applet.Applet;
import java.applet.AppletStub;
import java.awt.Graphics;
import java.awt.GridLayout;

public class AppletExample1 extends Applet
implements Runnable, AppletStub {

    Thread threadABC;

    public void init(){}

    public void paint(Graphics g) {
        g.drawString("I'm Applet 1 ~", 10, 10);
        g.drawString("Loading Applet 2 ...", 10, 30);

    }

    public void run() {

      try {

        //sleep for 5 seconds , for demo
        threadABC.sleep(5000);

        Class applet2 = Class.forName("com.example.applet.AppletExample2");
        Applet appletToLoad = (Applet)applet2.newInstance();
        appletToLoad.setStub(this);
        setLayout( new GridLayout(1,0));
        add(appletToLoad);
        appletToLoad.init();
        appletToLoad.start();

      }catch (Exception e) {
        System.out.println(e);
      }

        validate();
    }

    public void start(){
        threadABC = new Thread(this);
        threadABC.start();
    }

    public void stop() {
        threadABC.stop();
        threadABC = null;
    }

    public void appletResize( int width, int height ){
        resize( width, height );
    }

}

2. AppletExample2.java

package com.example.applet;

import java.applet.Applet;
import java.awt.Graphics;

public class AppletExample2 extends Applet{

    public void init(){ }

    public void paint(Graphics g) {
        g.drawString("I'm Applet 2 ~", 10, 10);
    }

}

3. HTML-Lade-Applet

Es gibt keine Unterschiede zum Laden von "AppletExample1", laden Sie es einfach wie gewohnt:

Testing

4. Done

Sie werden feststellen, dass Applet angezeigt wird (AppletExample1)

"I'm Applet 1 ~"
"Loading Applet 2 ..."

Nach 5 Sekunden ändert es sich zu (AppletExample2)

I'm Applet 2 ~"

Wie wäre es mit dem Applet-Parameter?

Beide Applets verwenden dieselben Parameter, die im Applet-Tag angegeben sind.

Zum Beispiel,


Sowohl „AppletExample1.java“ als auch „AppletExample2.java“ können mit der Methode getParameter („paramUrl“) auf den Wert „paramUrl“ zugreifen.