Below is an example of adding two panels to a frame. Only one panel (the 2nd, red panel) appears.

Why does the first panel disappear?
import java.awt.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
public class DisappearingPanelInFrame {
    DisappearingPanelInFrame() {
        JFrame f = new JFrame(this.getClass().getSimpleName());
        f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        f.add(new ColoredPanel(Color.GREEN));
        f.add(new ColoredPanel(Color.RED));
        f.pack();
        f.setVisible(true);
    }
    public static void main(String[] args) {
        Runnable r = new Runnable() {
            @Override
            public void run() {
                new DisappearingPanelInFrame();
            }
        };
        SwingUtilities.invokeLater(r);
    }
}
class ColoredPanel extends JPanel {
    ColoredPanel(Color color) {
        setBackground(color);
        setBorder(new EmptyBorder(20, 150, 20, 150));
    }
}