import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JButton;
import javax.swing.JPanel;

/** Mensimulasikan BorderLayout: lima wilayah dengan prioritas ukuran berbeda. */
public class TataBorder {
    static JButton tombol(String teks, int tinggiPilihan) {
        JButton b = new JButton(teks);
        b.setPreferredSize(new Dimension(60, tinggiPilihan));
        return b;
    }

    public static void main(String[] args) {
        JPanel panel = new JPanel(new BorderLayout(4, 4));
        panel.add(tombol("Utara", 30), BorderLayout.NORTH);
        panel.add(tombol("Barat", 0), BorderLayout.WEST);
        panel.add(tombol("Tengah", 0), BorderLayout.CENTER);
        panel.add(tombol("Timur", 0), BorderLayout.EAST);
        panel.add(tombol("Selatan", 30), BorderLayout.SOUTH);

        panel.setSize(200, 120);
        panel.doLayout();

        String[] wilayah = { "Utara", "Barat", "Tengah", "Timur", "Selatan" };
        for (int i = 0; i < wilayah.length; i++) {
            var c = panel.getComponent(i);
            System.out.printf("%-7s -> x=%d y=%d lebar=%d tinggi=%d%n",
                    wilayah[i], c.getX(), c.getY(), c.getWidth(), c.getHeight());
        }
    }
}
