Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Thêm nhiều sub-panel vào main panel trong Java Swing

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ả

Thêm nhiều sub-panel vào main panel trong Java Swing

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.