Container.add(Component)
JPanel là container, có thể chứa các component khác (kể cả JPanel khác). Dùng add(Component) để thêm sub-panel vào main panel.
Ví dụ: Main panel chứa 2 sub-panel
import java.awt.*;
import javax.swing.*;
public class MultiPanelDemo extends JFrame {
private JPanel mainPanel, subPanel1, subPanel2;
public MultiPanelDemo() {
setTitle("Multi-Panel Demo");
mainPanel = new JPanel();
mainPanel.setLayout(new GridLayout(3, 1)); // 3 hàng, 1 cột
mainPanel.add(new JLabel("Main Panel", SwingConstants.CENTER));
mainPanel.setBackground(Color.WHITE);
mainPanel.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));
subPanel1 = new JPanel();
subPanel1.add(new JLabel("Panel One", SwingConstants.CENTER));
subPanel1.setBackground(Color.RED);
subPanel2 = new JPanel();
subPanel2.setBackground(Color.BLUE);
subPanel2.add(new JLabel("Panel Two", SwingConstants.CENTER));
mainPanel.add(subPanel1);
mainPanel.add(subPanel2);
add(mainPanel);
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(MultiPanelDemo::new);
}
}
Kết quả

Mẹo: Dùng BorderLayout cho main panel (NORTH, CENTER, SOUTH...) hoặc BoxLayout để xếp chồng/dọc linh hoạt hơn.