# Aus Applet per Button-Klick anderes Applet in Browser laden



## SabineMA (27. Sep 2005)

Hallo!

Was Applets angeht, bin ich ein absoluter Newbie. Meine Situation:

Ich habe ein Applet, in dem man auf einen Button klicken soll, um ein anderes Applet zu laden. Leider habe ich unter Google etc. nichts gefunden. Vielleicht fehlen mir hier auch einfach die richtigen Begriffe.
Meine Idee war dann, ein Applet zu verwenden, dessen Klasse als einziges Attribut ein Panel hat und dass ich dieses ändere, meine beiden Applets von vorher also zu Panels umwusel. Das klappt aber irgendwie auch nicht - hier bekomme ich Fehlermeldungen, mit denen ich recht wenig anfangen kann.
Am liebsten wäre mir also, per Button-Klick in das aktuelle Browser-Fenster statt dem aktuellen Applet ein anderes zu laden.

Kann mir jemand helfen?

Vielen Dank schonmal und liebe Grüße.

Bine


----------



## L-ectron-X (27. Sep 2005)

Ja, sicher.

Applets leben in Webseiten. Also must du entweder eine neue Webseite vom Applet laden lassen, in der ein weiteres Applet eingebettet ist oder in deinem vorhandenen Applet alle Komponenten löschen und die Appletfläche neu bestücken.
Applets erben von Panel, du brauchst also nicht in jedem Fall ein Panel ins Applet einfügen.
In diesem Fall kann es sich aber doch anbieten, einfach nur die Panels auszutauschen.

Fehlermeldungen? Lass mal sehen.
Etwas Code kann zu einer schnelleren Lösung deines Problems beitragen.


----------



## The_S (28. Sep 2005)

Hatte das Prob auf meiner HP auch. Hab dann einfach ein "Hauptapplet" geschrieben, dass immer angezeigt wird. Auf diesem Hauptapplet habe ich dann das eigentliche Applet geaddet. Will der User jetzt ein anderes Applet sehen, habe ich dass Applet auf dem Hauptapplet wieder entfernt und dafür das gewünschte auf das Hauptapplet geladen. Hoffe ich konnte mich einigermaßen verständlich ausdrücken :wink:


----------



## SabineMA (29. Sep 2005)

Hallo!
Vielen Dank für Eure Hilfe!
Mittlerweile habe ich in dem Applet als Attribut zwei Panels, die ich invisible oder visible mache - je nach bedarf. Ich hatte es mit add/remove probiert, aber die Anzeige hat sich im Browser nicht geändert. Hab mir aber den Inhalt der Panels anzeigen lassen (println) und der war nach einem remove wirklich null, an der Anzeige hat sich jedoch nichts getan.
Wie gesagt: mit dem (in)visible funktioniert es jetzt super und ich bin ganz glücklich und zufrieden.

Liebe Grüße, Bine


----------



## L-ectron-X (30. Sep 2005)

Du hättest die Oberfläche nur noch neuzeichnen müssen.

```
this.validate();
```


----------



## SabineMA (1. Okt 2005)

Danke, das hatte ich gemacht, aber es hat nichts gebracht (validate).


----------



## L-ectron-X (1. Okt 2005)

In seltenen Fällen:

```
validate();
repaint();
```
Wenn das auch nicht funktioniert, hast du die Methoden vielleicht am falschen Container aufgerufen.


----------



## SabineMA (2. Okt 2005)

Das hatte ich auch probiert. Und es klappte nicht. Irgendwas anderes muss da wirklich noch falsch gewesen sein. Aber mittlerweile klappt es ja anders (siehe oben). Vielen Dank trotzdem für Eure Hilfe!


----------

