Я просмотрел и не нашел решения, которое специально подходит для моей ситуации. У меня есть панель, которую я отображаю в диалоговом окне:
//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. Спасибо за любую помощь или предложения.
The setalignmentx() isn't available for panels.
-setAlignmentX()
доступен для меня. Не могли бы вы уточнить? - person Thomas   schedule 09.02.2012