独自の幅と高さを設定する方法  
そうしないでください。代わりに、それ自体が外部 (親) レイアウトのまたはに追加されるNORTHまたはを使用してサイズを制限してください。SOUTHJPanelEASTWEST
このように:

import java.awt.*;
import javax.swing.*;
class BorderGUI {
    BorderGUI() {
        JPanel gui = new JPanel(new BorderLayout(2,2));
        JPanel westConstrain = new JPanel(new BorderLayout(2,2));
        // LINE_START will be WEST for l-r languages, otherwise EAST
        gui.add(westConstrain, BorderLayout.LINE_START);
        JPanel westControls = new JPanel(new GridLayout(0,1,2,2));
        for (int ii=1; ii<3; ii++) {
            westControls.add( new JButton("" + ii) );
        }
        westConstrain.add(westControls, BorderLayout.PAGE_START);
        JPanel eastConstrain = new JPanel(new BorderLayout(2,2));
        gui.add(eastConstrain, BorderLayout.LINE_END);
        JPanel eastControls = new JPanel(new GridLayout(0,1,2,2));
        for (int ii=1; ii<4; ii++) {
            eastControls.add( new JButton("" + ii) );
        }
        // show at the bottom
        eastConstrain.add(eastControls, BorderLayout.PAGE_END);
        gui.add( new JScrollPane(new JTextArea(6,10)), BorderLayout.CENTER );
        JOptionPane.showMessageDialog(null, gui);
    }
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new BorderGUI();
            }
        });
    }
}