JPanels löschen und neu konstruieren

Status
Nicht offen für weitere Antworten.

windeburg

Mitglied
Hallo!

Kann mir jemand bei folgendem etwas komplexeren Problem helfen: ???:L

Ich habe einen JFrame mit drei JPanels, die wiederum von mir programmierte JComponets enthalten.
Wie kann ich einer der JComponets entferen und durch ein neues ersetzen.?

Genauer gesagt:
Im rechten Panel läuft eine JComponent mit einer kleinen Animation. Durch einen Event, dass durch einen Maucklick
auf eine JComonent im linken Panel verschickt wird , soll nun eine andere Animation in der gleichen JComponent ausgeführt
werden. Ich habe versucht die für die Animation benötigten Bilder durch die linke Komponente zu verschicken, was so auch
geklappt, jedoch mein Programm extrem verlangsamt hat. (Egal ob ich Strings zur erstellung der Bilder oder bereits erstellteImages
verschickt habe)

MEINE IDEE:
Ich könnte nicht einzelne Bilder, sondern die ganze Animation als eigene Klasse übergeben, die im Vorfeld erstellt wird. dazu
müsste aber die alte doch igendwie verschwinden, also die JComponent beendet und eine neue gestartet werden, oder???


Ich hoffe, ich konnte einigermaßen verständlich machen, was mein problem ist ! :wink:

würde mich über Hilfe sehr freuen!

Gruß

Jonas
 
hmm versteh ich zwar nicht ganz aber mit Container.remove(Copmonent) kannst du einen kompmonnte aus einem Container entfernen :-/
 
Also in etwa so ?????:

Code:
public class  mypanel extend JPanel(){
private Mycomponent mycomponent;  //Halt irgend eine Komponente, die von JComponent erbt

   public mypanel (){
      mycomponent = new Mycomponent(); 
       this.add(mycomponent, BorderLayout.CENTER);
      (...)
   }
   
   (...)

   public void  newComponent(JComponent mycomponent){
      this.remove(mycomponent, BorderLayout.CENTER);
      this.mycomponent = mycomponent;
      this.add(mycomponent,  BorderLayout.CENTER);
   }

   (...)
}

wenn das so richtig ist, probiere ich das mal aus!


vielen Dank!

Jonas
 
brauchste iegentlich net enfernen - das alte wird einfach überschrieben
 
Das hatte ich malin nem anderen Zusammenhang probiert, da hat das nicht geklappt.
Hat dann wohl an nem andern Fehler gelegen, den ich damals nicht entdeckt habe.

Werde jetzt die Animation als JComponent im vorhinein erschaffen und dann an das Panel übergeben.


danke!
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben