Хитрость, как уже упоминалось в предыдущем ответе, заключается в использовании клея, наполнителей и жестких областей в макете коробки. Однако, в отличие от этого респондента, я бы порекомендовал придерживаться BoxLayout - с Box вы можете выполнять самые простые пользовательские интерфейсы проще, чем с Grid Bag; и дополнительная мощность не приносит вам особой выгоды в обычном диалоговом окне.
В старой идиоме это были такие вещи, как Box.createHor horizontalStrut (int x) и Box.createHor HorizontalGlue (); идея заключается в том, что вы помещаете распорку между первым и вторым компонентами, а затем добавляете клей после второго. ("распорка" = "жесткая область" в настоящее время).