Heim > Java > javaLernprogramm > Hauptteil

Wie tausche ich Panels innerhalb eines JFrame dynamisch aus?

Mary-Kate Olsen
Freigeben: 2024-10-25 04:16:02
Original
878 Leute haben es durchsucht

How to Dynamically Swap Panels Within a JFrame?

Dynamisches Austauschen von Panels innerhalb eines JFrames

In dieser Java Swing-Anwendung muss ein JPanel innerhalb eines JFrames basierend auf Benutzeraktionen mit einem anderen JPanel ausgetauscht werden. Um den geeigneten Ansatz zu untersuchen, um dies zu erreichen, wurde der folgende Code getestet:

panel = new CustomJPanelWithComponentsOnIt();
parentFrameJPanelBelongsTo.pack();
Nach dem Login kopieren

Dieser Ansatz schlägt jedoch fehl, die Panels zu wechseln.

Lösung: Nutzung von CardLayout

Die ideale Lösung für dieses Szenario liegt in der Verwendung von CardLayout, einem Layout-Manager, der die Anzeige mehrerer Panels ermöglicht und gleichzeitig selektiv nur ein Panel gleichzeitig anzeigt.

Um CardLayout zu implementieren, führen Sie die folgenden Schritte aus kann genommen werden:

  1. Erstellen Sie ein CardLayout-Objekt:

    CardLayout cardLayout = new CardLayout();
    Nach dem Login kopieren
  2. Legen Sie das Layout des Containers fest, der die Panels enthält (z. B. der JFrame):

    parentFrameJPanelBelongsTo.setLayout(cardLayout);
    Nach dem Login kopieren
  3. Fügen Sie die Panels zum Container hinzu, indem Sie die Einschränkungen des CardLayouts verwenden:

    parentFrameJPanelBelongsTo.add(new CustomJPanelWithComponentsOnIt(), "panel1");
    parentFrameJPanelBelongsTo.add(new AnotherJPanel(), "panel2");
    Nach dem Login kopieren
  4. Setzen Sie das anfängliche Panel auf angezeigt werden:

    cardLayout.show(parentFrameJPanelBelongsTo, "panel1");
    Nach dem Login kopieren
  5. Ändern Sie das aktive Panel dynamisch basierend auf der Benutzerinteraktion:

    cardLayout.show(parentFrameJPanelBelongsTo, "panel2");
    Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie tausche ich Panels innerhalb eines JFrame dynamisch aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!