Выравнивание панели java BoxLayout

Я просмотрел и не нашел решения, которое бы соответствовало моей ситуации. У меня есть панель, которую я показываю в диалоговом окне:

//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);

Последние две панели, type5 и type6, имеют одинаковый размер, поэтому они выглядят нормально. Однако заголовок и первые 4 панели имеют разные размеры, и я бы хотел, чтобы все они были выровнены по левому краю. Пока я не нашел хорошего решения, как это исправить.

Вопрос в том, как я могу выровнять по левому краю первые 5 панелей, но не последние 2? Если нет, как я могу выровнять их все по левому краю? Setalignmentx () недоступен для панелей. Я пробовал использовать GridLayout, но тогда ширина главного окна графического интерфейса довольно большая и не подходит для экрана, следовательно, BoxLayout по оси Y. Спасибо за любую помощь или предложения.

12
задан mKorbel 9 February 2012 в 14:35
поделиться