Еще один «лучший способ» - использование лучшего менеджера макетов:
MigLayout
чрезвычайно гибкий и простой в использовании Layout Manager, который работает как для Swing, так и для SWT.
Он может делать то же, что и Table Layout, Form Layout и почти все менеджеры Swing Layout, с простым для понимания кодированием на основе String и / или API.
Он предназначен для макетов с ручным кодированием, как Matisse / Group Layout для IDE.
JPanel panel = new JPanel(new MigLayout());
panel.add(firstNameLabel);
panel.add(firstNameTextField);
panel.add(lastNameLabel, "gap unrelated");
panel.add(lastNameTextField, "wrap");
panel.add(addressLabel);
panel.add(addressTextField, "span, grow");
(источник: miglayout.com )