kostenloser Webspace werbefrei: lima-city


Swing: RemoveAll entfernt Layout?

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    Guten Morgen!

    Ich verwende einen JFrame um zwei verschiedene JPanels anzuzeigen.
    Je nach Status des Daten-Objekts soll entweder ein Panel mit einer Meldung und sonst ein Panel mit den Datenfeldern angezeigt werden.
    Nun wird bei einer änderung das bestehende Panel entfernt und das andere per add(); eingefügt.

    Seltsamerweise wird auch vom verwendeten SpringLayout die Constraints entfernt.
    Sobald eine Aktualisierung durchgeführt wird, wird das Panel mit der Meldung nicht mehr über den ganzen Frame angezeigt sondern nur noch in der oberen linken Ecke. Dadurch vermute ich, dass die Constraints entfernt werden...

    Ist das so gewollt bei Java? Sprich dass wenn ich alle enthaltenen Components von einem Panel entfernt werden auch deren Constraints im Layout-Manager entfernt werden oder versteh ich da was falsch?

    Ich setzte sie nun halt im Refresh jedes mal neu, will aber den Speicher nicht unnötig vollaufen lassen.

    Beitrag zuletzt geändert: 17.4.2013 8:14:42 von schrotti12
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hi Schrotti,

    da der LayoutManager bei removeAll() per removeLayoutComponent() angesprochen wird, sind auch zwangsläufig Deine Constraints hinfällig.

    Besser wäre es für Dich wohl, gleich ein Layout zu benutzen, das Deinen Ansprüchen entspricht. Anstatt jedes Mal Panels zu adden und zu removen, bietet sich hier eventuell der Gebrauch des CardLayouts an: http://docs.oracle.com/javase/tutorial/uiswing/layout/card.html
    Damit hättest Du das "switchen" gleich im Layout enthalten und müsstest nicht dauernd im Speicher rumpfuschen.

    Gruß,
    Pawnee
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!