Java выравнивание компонентов в панелях

Я пытаюсь добавить компоненты на юг BorderLayout мне нужно, чтобы это выглядело как этот пример.

------------------------------------
|                                  |
|                                  |
|                                  |
|                                  |
|                                  |
|                                  |
|_TxtField|Button_____________Label|

Поэтому мне нужны JTextField и JButton, выровненные по левому краю, и метка, выровненная по правому краю. Как я могу сделать это? Вот мой код ниже, я пытался сделать это с помощью вложенных панелей:

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class BlackjackGUI{

    private JFrame frame;
    private JPanel panel, panelLeft, panelBottomLeft, panelBottomRight;
    private JButton newGameBtn, dealBtn, hitBtn, standBtn;
    private JLabel placeBetLbl, playerMoneyLbl;
    private JLabel playerCard1Lbl, playerCard2Lbl, playerCard3Lbl,
                   playerCard4Lbl, playerCard5Lbl, playerCard6Lbl, playerCard7Lbl;
    private JLabel dealerCard1Lbl, dealerCard2Lbl, dealerCard3Lbl, dealerCard4Lbl,
                   dealerCard5Lbl, dealerCard6Lbl, dealerCard7Lbl;  
    private JLabel playerCardValueLbl, dealerCardValueLbl;
    private JLabel spacer1, spacer2;
    private JTextField betInputBox;

    public BlackjackGUI(){
        createForm();

        addTextField();
        addButtons();
        addLabels();


        frame.add(panel);
        frame.setVisible(true);
    }

    public void createForm() {
        frame = new JFrame("Blackjack");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(1200,800);

        panel = new JPanel();
        panel.setLayout(new BorderLayout());
        Color c = new Color(0, 100, 0);
        panel.setBackground(c);


        panelLeft = new JPanel();
        Color panelLeftBG = new Color (23, 25, 100);
        panelLeft.setBackground(panelLeftBG);
        panel.add(panelLeft, BorderLayout.WEST);

        panelBottomLeft = new JPanel();
        Color panelBottomLeftBG = new Color (56, 12, 10);
        panelBottomLeft.setBackground(panelBottomLeftBG);
        panelBottomLeft.setLayout(new FlowLayout(FlowLayout.LEFT));
        panel.add(panelBottomLeft, BorderLayout.SOUTH);

        panelBottomRight = new JPanel();
        Color panelBottomRightBG = new Color (12, 88, 40);
        panelBottomRight.setBackground(panelBottomRightBG);
        panelBottomRight.setLayout(new FlowLayout(FlowLayout.RIGHT));
        panel.add(panelBottomRight, BorderLayout.SOUTH);
    }

    public void addButtons() {

        newGameBtn = new JButton("New Game");
        panelLeft.add(newGameBtn, BorderLayout.WEST);
        newGameBtn.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent event) {
                System.exit(0);

            }
        });

        dealBtn = new JButton("Deal");
        dealBtn.setPreferredSize(new Dimension (100, 50));
        panelBottomLeft.add(dealBtn);
        newGameBtn.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent event) {
                System.exit(0);

            }
        });

    }

    public void addTextField() {

        betInputBox = new JTextField();
        betInputBox.setPreferredSize(new Dimension(175,50));
        panelBottomLeft.add(betInputBox);
    }

    public void addLabels() {

        placeBetLbl = new JLabel("Place your bets!");
        placeBetLbl.setFont(new Font("Gill Sans MT", Font.PLAIN, 35));
        panelBottomLeft.add(placeBetLbl);

        playerMoneyLbl = new JLabel("£2,500");
        playerMoneyLbl.setFont(new Font("Gill Sans MT", Font.PLAIN, 35));
        playerMoneyLbl.setLayout(new FlowLayout(FlowLayout.RIGHT));
        panelBottomRight.add(playerMoneyLbl);

    }

    public static void main(String[] args) {
    new BlackjackGUI();

    }

}

Ответы на вопрос(1)

Ваш ответ на вопрос