Я понял, что оставил настройку GridBagLayout на панели, поэтому добавил строку:
uploadPanel.setLayout(new GridBagLayout());
Где вы это сделали?
В вашем размещенном коде нет переменной "uploadPanel".
Фактически нет необходимости определять переменную, поскольку необходимо настроить диспетчер компоновки панели, ПРЕЖДЕ ЧЕМ вы добавляете компоненты на панель.
Таким образом, менеджер компоновки должен быть установлен в конструкторе вашего класса «UploadPanel»:
public UploadPanel()
{
setLayout( new GridBagLayout() );
gbc.weightx = 1;
Кроме того, структура вашего кода сбивает с толку.
Связанные компоненты должны быть добавлены на панель одновременно. Это означает, что пара меток и текстовых полей должна быть добавлена вместе на панель.
Нет смысла добавлять все метки, а затем все текстовые поля в отдельных методах.
Также , ваш код добавляет компонент в строку 2, затем 0, затем 0. Давайте будем логичны и сделаем 0, затем 1, затем 2, чтобы сделать код проще для понимания и обслуживания.