Я пытаюсь центрировать содержимое JPanel с BoxLayout по вертикали. BoxLayout выровнен по оси Y, поэтому элементы внутри выровнены по горизонтали.
Например, то, что у меня сейчас есть:
-----------------------------
| ------ |
| ---------- |
| ---- |
| -------------- |
| |
| |
| |
| |
| |
| |
-----------------------------
Что я хочу:
-----------------------------
| |
| |
| |
| ------ |
| ---------- |
| ---- |
| -------------- |
| |
| |
| |
-----------------------------
В данный момент я центрирую столбец элементов, используя setAlignmentX (Component.CENTER_ALIGNMENT):
JPanel box = new JPanel();
box.setLayout(new BoxLayout(box, BoxLayout.Y_AXIS));
JLabel one = new JLabel("First element");
one.setAlignmentX(JLabel.CENTER_ALIGNMENT);
box.add(one);
JLabel two = new JLabel("Second element");
two.setAlignmentX(JLabel.CENTER_ALIGNMENT);
box.add(two);
...
Как я могу изменить это, чтобы он также был вертикально центрирован?