Comment une applet lance une autre applet
Dans certains scénarios, vous pouvez avoir besoin d'une applet existante pour lancer une autre applet pour effectuer une autre tâche.
Voici deux fichiers de démonstration
1. AppletExample1.java
2. AppletExample2.java
«AppletExample1.java» contient un «Thread» et lancez «AppletExample2.java» après 5 secondes.
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. Applet de chargement HTML
Il n'y a pas de différence pour charger «AppletExample1», il suffit de le charger normalement:
Testing
4. Done
Vous remarquerez que Applet s'affichera (AppletExample1)
"I'm Applet 1 ~" "Loading Applet 2 ..."
Après 5 secondes, il deviendra (AppletExample2)
I'm Applet 2 ~"
Que diriez-vous du paramètre Applet?
Les deux applets partageront les mêmes paramètres spécifiés dans la balise applet.
Par exemple,
«AppletExample1.java» et «AppletExample2.java» peuvent accéder à la valeur «paramUrl» avec la méthode getParameter («paramUrl»).