# mehrere Applets auf einer Seite



## Guest (8. Mai 2006)

Hallo,

hoffe ihr könnt mir helfen.
Ich habe mehrere Applets auf einer Seite, allerdings zeigt er mir beim Aufruf der Seite alle Applets auf einmal an, obwhol ich sie nacheinander aufrufen möchte. Wie kann ich es bewerkstelligen, dass immer nur ein Applet angezeigt wird?

Danke schonmal für eure Hilfe.


----------



## Leroy42 (8. Mai 2006)

Anonymous hat gesagt.:
			
		

> obwhol ich sie nacheinander aufrufen möchte.



 :shock: Wie kann man Applets _nacheinander aufrufen_? Wann ist denn eins _zu Ende_? 

Also entweder machst du jedes Applet auf eine neue Seite,
oder machst ein Applet daß alle bisherigen Applets _nacheinander_
(was auch immer das heißen soll) anzeigt, oder du läßt die Applets
kommunizieren, oder jedes Applet ruft eine Seite mit dem nächsten
Applet auf, oder ....


----------



## Gast (8. Mai 2006)

Nun ja, eines ist zu Ende, wenn ich einen Button drücke, dann soll das nächste starten. 
So hab ich mir das zumindest gedacht. 

Hab mir jetzt überlegt, dass ich vielleicht ein MainApplet erzeuge, indem die anderen gestartet werden, da ich unter den einzelnen Applets Werte übergeben muss. Hab allerdings keine Ahnung, wie ich das erreichen soll. Hab bereits im Inet und auch hier im Forum geschaut, hab aber nichts passendes gefunden.


----------



## Leroy42 (8. Mai 2006)

Gast hat gesagt.:
			
		

> wenn ich einen Button drücke, dann soll das nächste starten



Und das _alte_ kann der User dann nicht mehr starten? Sehe ich irgendwie
als unnötige Einschränkung des Users.

Ansonsten, könntest du dein _MainApplet_ ja als Minibrowser
konzipieren, daß die Applets jeweils in ein Frame packt und die
Methoden init(), start(), stop(), destroy() aufruft.


----------



## Gast (8. Mai 2006)

Hört sich gut an. Hab jetzt allerdings keine Ahnung, wie mein MainApplet auf die anderen Applets zugreifen kann.


----------



## Leroy42 (8. Mai 2006)

```
Applet[] meineBabies = new Applet[] {new Applet1(), new Applet2(), ...};
for (Applet baby: meineBabies) {
  Frame f = new Frame();
  f.add(baby);
  f.setVisible(true);
  baby.init();
  baby.start();
  // Hier mußt du irgendwie mitbekommen, wann das Applet fertig ist.
  baby.stop();
  baby.destroy();
  f.dispose();
}
```

Jetzt habe ich allerdings keine Ahnung, wann dein Applet fertig ist.
Dann muß ja dein MainApplet benachrichtigt werden, das aktuelle
Applet zu beenden und das nächste starten.


----------



## L-ectron-X (8. Mai 2006)

Ich habe wahrscheinlich nur Schwierigkeiten mir das vorzustellen....
...aber warum machst du nicht _ein einziges_ Applet, in dem du die angezeigten Panels austauschst?
Dann hast du auch keine Probleme mit der Werteübergabe.

Ansonsten gibts in diesem Forum schon mehrere Threads, in denen das Problem _Kommunikation zwischen Applets_ behandelt wird.

Beispiele:
http://www.java-forum.org/de/viewtopic.php?t=24531
http://www.java-forum.org/de/viewtopic.php?p=26051
http://www.java-forum.org/de/viewtopic.php?t=29737


----------



## Gast (8. Mai 2006)

@Leroy42
Danke für das Beispiel

@L-ectron-X
Auf die Idee bin ich gar nicht erst gekommen. Könnte vielleicht auch gehen. Werde mal beide Methoden testen.

Danke nochmal.


----------

