Comment afficher plusieurs JPannels dans un seul JFrame

slt
j’essaie d’appeler et d’afficher plusieurs JPannels dans un seul JFrame sans succès.
J’ai utilise cette methode mais ça ne marche pas.

private void showForm(Component com) {
   body2.removeAll();
   body2.add(com);
   body2.revalidate();
   body2.repaint();
   com.setVisible(true);
}

merci pour vos éventuelles réponses

Montrez-nous votre code pour qu’on puisse vous aider, je sais pas comment vous avez déclaré le JPanel et le JFrame. En tout cas vous pouvez s’inspirer de l’exemple suivant qui affiche deux JPanels dans un seule JFrame.

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;

import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class Exemple {

    private JFrame frame;
    private JPanel panels;
    private JPanel top;
    private JPanel bottom;

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new Exemple().createAndShowGui();
            }
        });
    }

    public void createAndShowGui() {
        frame = new JFrame("Exemple de 2 JPanels");
        panels = new JPanel();
        top = new JPanel();
        bottom = new JPanel();

        panels.setLayout(new GridLayout(2, 1));
        top.setLayout(new GridLayout(1, 2));
        bottom.setLayout(new BorderLayout());

        top.add(new JLabel("Partie gauche"));
        top.add(new JLabel("Partie droite"));

        bottom.add(new JLabel("Partie gauche"), BorderLayout.WEST);
        bottom.add(new JLabel("Partie droite"), BorderLayout.EAST);

        top.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.red), "En utilisant GridLayout"));
        bottom.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.red), "En utilisant BorderLayout"));

        panels.add(top);
        panels.add(bottom);

        frame.add(panels);

        frame.setSize(500, 400);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

Sortie:

waytolearnx-jframe-jpanel