Hallo Zusammen,
ich hab mal ne Idee und hätte gern euer Feedback und ein paar Tipps.
Ich erzeuge in einer Anwendung einen JTree, der u.U. hunderte von Elemente beinhalten kann. Für jedes Element wird ein JPanel erzeugt, d.h. wenn ich meine Anwendung starte, dann habe ich hunderte von Elementen im Speicher. Das ist etwas, was ich eigentlich nicht will.
Ich hätte mir gedacht, dass ich so eine Art Panelcache erzeugen könnte, d.h. ich baue mir eine HashMap<String, Component> auf. Anstatt nun bereits am Anfang alle Baumelemente mit einem Panel zu verknüpfen, mache ich das erst beim Klick auf einen Ast. Dabei hole ich mir das Panel aus dem Panelcache. Sollte ich vorhin bereits auf einen Ast geklickt haben, so muss ich das Panel von diesem Ast wieder entfernen und in den neu geklickten Ast hängen.
Kann das überhaupt funktionieren?
Ich hätte es eigentlich bereits schon ein bisschen getestet, nur werden die Panels nicht mehr korrekt dargestellt. Da hilft auch leider kein "repaint()" etc.
Vielleicht hat jemand ne andere Idee?
Viele Grüße
MS-Tech
ich hab mal ne Idee und hätte gern euer Feedback und ein paar Tipps.
Ich erzeuge in einer Anwendung einen JTree, der u.U. hunderte von Elemente beinhalten kann. Für jedes Element wird ein JPanel erzeugt, d.h. wenn ich meine Anwendung starte, dann habe ich hunderte von Elementen im Speicher. Das ist etwas, was ich eigentlich nicht will.
Ich hätte mir gedacht, dass ich so eine Art Panelcache erzeugen könnte, d.h. ich baue mir eine HashMap<String, Component> auf. Anstatt nun bereits am Anfang alle Baumelemente mit einem Panel zu verknüpfen, mache ich das erst beim Klick auf einen Ast. Dabei hole ich mir das Panel aus dem Panelcache. Sollte ich vorhin bereits auf einen Ast geklickt haben, so muss ich das Panel von diesem Ast wieder entfernen und in den neu geklickten Ast hängen.
Kann das überhaupt funktionieren?
Ich hätte es eigentlich bereits schon ein bisschen getestet, nur werden die Panels nicht mehr korrekt dargestellt. Da hilft auch leider kein "repaint()" etc.
Vielleicht hat jemand ne andere Idee?
Viele Grüße
MS-Tech