java Alinhamento do painel BoxLayout

Naveguei e não encontrei uma solução que se adapte especificamente à minha situação. Eu tenho um painel exibido em uma caixa de diálogo:

//create dialog panel
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
panel.add(headerPanel);
panel.add(type1Panel);
panel.add(type2Panel);
panel.add(type3Panel);
panel.add(type4Panel);
panel.add(type5Panel);
panel.add(type6Panel);

int result = JOptionPane.showConfirmDialog(null, panel, "Please enter values.", JOptionPane.OK_CANCEL_OPTION);

O tamanho dos dois últimos painéis, type5 e type6, são do mesmo tamanho, portanto ficam bem. No entanto, o cabeçalho e os 4 primeiros painéis são de tamanhos diferentes e eu gostaria que todos ficassem alinhados. Até o momento, não encontrei uma boa solução para corrigir isso.

Pergunta é, como posso alinhar à esquerda os 5 primeiros painéis, mas não os últimos 2? Caso contrário, como posso alinhar à esquerda todos? O setalignmentx () não está disponível para painéis. Tentei usar o GridLayout, mas a largura da janela principal da GUI é bastante grande e não se encaixa muito bem na tela, daí o BoxLayout ao longo do eixo Y. Obrigado por qualquer ajuda ou sugestã

questionAnswers(6)

yourAnswerToTheQuestion