1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

(swing) Dynamically adding/removing Components

  • Flowyes
  • 14. November 2004 um 16:44
  • Unerledigt
  • Flowyes
    9
    Flowyes
    Mitglied
    Punkte
    750
    Beiträge
    116
    • 14. November 2004 um 16:44
    • #1

    Ich hab ein JPanel. Es soll abhängig von einer CheckBox sein. Wenn diese Checkbox selektiert ist, wird dieses JPanel einem anderen hinzugefügt. Wenn sie deselektiert wird, wird dieses JPanel wieder entfernt.

    Das Entfernen verursacht Probleme. Wenn ich die CheckBox deselektiere, verschwindet das JPanel nicht. Wenn ich jetzt aber das Parent-Frame, das dieses JPanel enthält ein wenig vergrößere oder verkleinere, dann verschwindet das JPanel doch. Das ist ziemlich nervig. Woran könnte das liegen, bzw. sollte ich irgendwas updaten oder so? Irgendwo hab ich gelesen, dass

    Code
    panel.revalidate();
       panel.repaint();

    dieses Problem beheben soll, aber es stimmt anscheinend nicht ganz.

    The idea behind this technique is surprisingly simple: just go ahead and do whatever you want to without paying attention to what anybody else is doing. If there is a problem, worry about it later. (Many politicians use this algorithm, too) -- A. S. Tanenbaum, M. v. Steen, Distributed Systems

  • gck
    5
    gck
    Mitglied
    Punkte
    275
    Beiträge
    55
    • 14. November 2004 um 21:19
    • #2

    hmm, ich glaub, du musst das validate() nicht vom panel aufrufen, sondern vom uebergeordneten container, allerdings habe ich schon seit ewigkeiten nicht mehr java und noch laenger nicht mehr swing programmiert, vielleicht hat sich am api was geaendert, keine ahnung...

    aber ich weisz noch, dass mich dieses problem damals auch aufgehalten hab, ich glaub, ein uebergeordneter_container.validate() behebt es (repaint ist implizit bei validate())

  • Flowyes
    9
    Flowyes
    Mitglied
    Punkte
    750
    Beiträge
    116
    • 14. November 2004 um 21:36
    • #3

    Danke vielmals!

    Vom übergeordneten JPanel den Aufruf machen war tatsächlich das Richtige. Hätte mir nicht gedacht, dass es so schnell geht...

    The idea behind this technique is surprisingly simple: just go ahead and do whatever you want to without paying attention to what anybody else is doing. If there is a problem, worry about it later. (Many politicians use this algorithm, too) -- A. S. Tanenbaum, M. v. Steen, Distributed Systems

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung