Я пытаюсь построить окно GUI в моем приложении. То, что я пытаюсь сделать, это иметь окно с несколькими кнопками вверху и большой текстовой областью. Примерно так:
+--------------------------------------------------+
| [button1] [button2] [button3] |
| +----------------------------------------------+ |
| | text area | |
| | | |
| | | |
| | | |
| +----------------------------------------------+ |
+--------------------------------------------------+
Я почти на месте, использую GroupLayout:
layout.setHorizontalGroup(
layout.createParallelGroup()
.addGroup(layout.createSequentialGroup()
.addComponent(button1)
.addComponent(button2))
.addComponent(closeWindow))
.addComponent(textarea1)
);
layout.setVerticalGroup(
layout.createSequentialGroup()
.addGroup(layout.createParallelGroup()
.addComponent(button1)
.addComponent(button2)
.addComponent(button3))
.addComponent(textarea)
);
Проблема в том, что это заканчивается тем, что кнопка 3 выровнена влево, а остальные две. Я не могу понять, как я могу указать выравнивание только на этой одной кнопке. Я могу сделать GroupLayout.Alignment.TRAILING на всей панели кнопок, но это касается всех 3 кнопок, что тоже не совсем правильно.
Так какой правильный подход? Поскольку выравнивание применимо только к параллельным группам, я не думаю, что наличие горизонтальной группы с двумя последовательными группами поможет?
Чего мне не хватает?