boardBckg.add(boardPanel, BorderLayout.CENTER);
Макетом JPanel по умолчанию является FlowLayout. Вы не можете просто указать ограничение BorderLayout при добавлении компонента на панель.
frame.add(boardBckg);
frame.add(menuPanel);
Макетом по умолчанию для (области содержимого) фрейма является BorderLayout. Если вы не укажете ограничение, компонент будет добавлен в BorderLayout.CENTER. Проблема в том, что в CENTER можно добавить только один компонент, поэтому вы видите только последний добавленный компонент.
frame.setVisible(true);
Компонент должен быть добавлен в раму ДО того, как рама будет упакована и сделана видимой. Таким образом, приведенное выше утверждение должно быть последним в вашем конструкторе.
Я понятия не имею, какой у вас требуемый макет, но вам нужно начать с чего-то простого и воспользоваться преимуществами BorderLayout по умолчанию.
Так что ваша базовая логика может выглядеть примерно так:
JPanel menuPanel = new JPanel()
menuPanel.setLayout(new BoxLayout(menuPanel, BoxLayout.Y_AXIS));
menuPanel.add(...);
menuPanel.add(...);
JPanel center = new JPanel();
center.setLayout(...);
center.setBackground( Color.BLUE );
center.add(...);
frame.add(menuPanel, BorderLayout.LINE_START);
frame.add(center, BorderLayout.CENTER);
frame.pack();
frame.setVisible( true );
Суть в том, чтобы логически разбивать панели и добавлять их в кадр по одному. Поэтому сначала добавьте меню и его дочерние компоненты в рамку - это правильная позиция. Затем вы можете добавить панель CENTER и ее дочерние компоненты.