Aktualisieren einer Oberfläche

  • Themenstarter Themenstarter JAG
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
J

JAG

Gast
Hallo zusammen,

ich habe folgendes Ziel:
Auf einer graphischen Oberfläche sind eine ganze Anzahl Zeilen, in denen am Anfang Labels mit begriffen sind, danach folgen Checkboxen. Bei Auswahl gewisser Checkboxen, sollen Zeilen ausgeblendet und das ganze gestaucht werden, so dass die Lücken verschwinden. (Die Objekte, aus denen sich die Zeilen herleiten, befinden sich in der ArrayListe)
Meine Lösung sieht derzeit schematisch so aus:

Code:
public Gui a;
public ArrayList arrayListe = new ArrayListe();
Methode1(){
...
a = new Gui(arrayListe);
...
} 
public void actionPerformed(ActionEvent e){
...
a = new Gui(arrayListe);
...
}
Mein Problem:
Das neue Fenster wird zwar richtig erzeugt, aber das alte bleibt erhalten, ist aber nicht funktionsfähig(bis auf X zum schließen)

Ich schätze die meisten hier hätten das ganze irgendwie besser realisiert, aber trotzdem vielleicht jemand ne Idee, wie ich das Problem loswerde?

Thx,

JAG
 
Du kannst mit "remove" die Labels wieder von der Oberfläche holen.

Code:
JPanel parent = ...
JLabel label = ...

// hinzufügen
parent.add( label, ... );

// und wieder wegnehmen.
parent.remove( label );

Deine Lösung, alles neu machen, finde ich nicht toll. Es ist weder schnell, noch spart es Speicher... :wink:
 
So, nachdem ich alles ein bischen umgebastelt habe funktioniert jetzt alles ohne Neuerzeugung. Das Problem, was ich bei Remove hatte, war, dass einige labels trotz Löschen noch zu sehen waren. Hab allerdings den Tip bekommen, dass man das durch setSize korrigieren kann und jetzt funzt es 🙂

Thx nochma

JAG
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben