Heim >Java >javaLernprogramm >Wie ersetzt man dynamisch ein JPanel innerhalb eines JFrames in Java Swing?
So ersetzen Sie dynamisch ein JPanel innerhalb eines JFrame
In Java Swing-Anwendungen wird ein JFrame oft als Hauptanwendungsfenster verwendet, das Folgendes enthält verschiedene Komponenten einschließlich JPanels. Gelegentlich kann es vorkommen, dass Sie als Reaktion auf Benutzeraktionen ein JPanel durch ein anderes ersetzen müssen. Dies kann mit CardLayout erreicht werden.
CardLayout ermöglicht es Ihnen, einen Container (in diesem Fall das übergeordnete JPanel) zu definieren, der mehrere untergeordnete Panels enthalten kann. Indem Sie den Layout-Manager des Containers in ein CardLayout ändern, können Sie nahtlos zwischen den untergeordneten Bedienfeldern wechseln.
So implementieren Sie diese Lösung:
Fügen Sie diese Panels zum übergeordneten JPanel hinzu:
JPanel parentPanel = new JPanel(new CardLayout()); parentPanel.add(panel1, "panel1"); parentPanel.add(panel2, "panel2");
Fügen Sie das übergeordnete JPanel zum Inhaltsbereich des JFrame hinzu:
JFrame frame = new JFrame(); frame.getContentPane().add(parentPanel);
Jetzt können Sie das sichtbare Panel mithilfe der Show-Methode des CardLayout ändern:
CardLayout cardLayout = (CardLayout) parentPanel.getLayout(); cardLayout.show(parentPanel, "panel2");
Mit diesem Ansatz können Sie Panels innerhalb eines JFrame dynamisch ersetzen , was Ihnen die Flexibilität gibt, die Benutzeroberfläche der Anwendung im Handumdrehen zu ändern.
Das obige ist der detaillierte Inhalt vonWie ersetzt man dynamisch ein JPanel innerhalb eines JFrames in Java Swing?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!