Rendering des CENTER Panels abhängig vom ComboBox Item
From: Erik Mautsch (emautsch_at_wi-bw.tfh-wildau.de)
Date: 12/22/03
- Next message: Rafal Bielec: "JFormattedTextField & MaskFormatter"
- Previous message: Vincent Vollers: "Re: Have a look at my TreeTable implementation"
- Next in thread: Erik Mautsch: "Re: Rendering des CENTER Panels abhängig vom ComboBox Item"
- Reply: Erik Mautsch: "Re: Rendering des CENTER Panels abhängig vom ComboBox Item"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Mon, 22 Dec 2003 20:24:58 +0100
Ich erzeuge mittels Swixml ein einfaches Swing GUI.
Ein Frame mit Menue, panel--> BorderLayout.NORTH besitzt eine
Combobox, nach deren Inhalten ich das panel-->BorderLayout.CENTER
füllen möchte.
Das Haupt-XML File sieht folgendermaßen aus.
Pseudo:
<xml... />
<frame>
<menuebar>
.
.
.
</menubar>
<panel id=north"...>
<combobox />
</panel>
<panel id="center" ... include="ein_anderes_file.xml#bla"/>
</frame>
ein_anderes_file.xml:
<ein_tag>
<panel id="bla"..>
<button id="anim1" />
<button id="anim2" />
</panel>
</ein_tag>
Das Includen funktioniert. Zur Laufzeit included er mir das
ein_anderes_file.xml File in mein Hauptdokument und die Buttons sind
sichtbar.
Das Buttons XML File kann ich nach belieben von aussen verändern, ohne
jedesmal das Hauptdokument anzufassen.
Nur möchte ich jetzt abhängig von der Comboboxauswahl den
Centerbereich neu rendern.
Dazu hatte ich mir ein Hauptdokument_2 erstellt, was sich nur darin
vom Originalen unterscheidet, dass es ein anderes,
ein_anderes_file_2.xml, included, wo dann die Buttons anim3/anim4
enthalten sind.
Wird dann das jeweilige Event ausgelöst (Combobox), dann lasse ich das
zweite Hauptdokument (mit der anderen XML Datei-->Button3/4) rendern.
Nur habe ich da ein Denkfehler. Es müsste ja das bestehende GUI erst
geschlossen/invalidate() gesetzt werden, bevor das neue erzeugt und
auf visible(true) gesetzt werden kann...
Abhängig ist diese Variante auch von der Peformance, obwohl wir hier
ja von "ms" reden. :-)
Hatte auch schon überlegt, alle Buttons gleich ins Hauptdokument zu
schreiben und komplett rendern zu lassen, jedoch auf visible(false) zu
lassen und erst dann nach Comboboxauswahl anzeigen zu lassen.
Nur hatte ich einen Tipp bekommen, dass der GC damit nicht so gut
umgehen kann. Ab einer gewissen Anzahl gibt es dann auch eine
OutOfMemoryException.
Als letzte Alternative fiel mir dann noch folgendes ein, wenn eine
andere Auswahl in der Combo getroffen
wird, dann panel_north.invalidate(), dann panel_north.removeALL(),
dann müsste der Centerbereich neu gerendert/gefüllt werden, dann
panel_north.validate().
Kennt sich jemand mit Swixml aus und hat einen kleinen Tipp?
Danke
Erik
- Next message: Rafal Bielec: "JFormattedTextField & MaskFormatter"
- Previous message: Vincent Vollers: "Re: Have a look at my TreeTable implementation"
- Next in thread: Erik Mautsch: "Re: Rendering des CENTER Panels abhängig vom ComboBox Item"
- Reply: Erik Mautsch: "Re: Rendering des CENTER Panels abhängig vom ComboBox Item"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]