Хотя я не уверен, что вы хотите, чтобы конечный результат, чтобы выглядеть, вот некоторые из моих предложений.
В фрагменте, где вы добавляете предупреждающую панель фрейм
warningPanel.add(warningLabel);
contentPane.add(warningPanel);
pack();
ContentPane будет контейнером, возвращаемый JFrame.getContentPane()
JFrames по умолчанию использовать BorderLayout и так,
contentPane.add(<someComponent>)
идентичен
contentPane.add(<someComponent>, BorderLayout.CENTER)
также добавить mainPanel таким же образом, и вы не можете иметь две компоненты с теми же ограничениями, поэтому вместо того, чтобы установить warningPanel в BorderLayout.NORTH
contentPane.add(warningPanel, BorderLayout.NORTH)
А также удалить вызов to pack() в этом фрагменте кода, поскольку вы вызываете его позже в своем коде.
Надеюсь, это поможет.
PS
Что касается GUI здания в Eclipse, это предыдущий вопрос о Eclipse GUI Builder plugins возможно использования. Я не могу говорить за учебники по использованию Swing в Eclipse, но быстрый поиск в Google выкапывает this tutorial using the Eclipse Visual Editor project
Опубликовать код в форуме. Включите метод main(), чтобы мы могли выполнить код. – camickr
Является ли предупреждающий знак над надписями и текстовыми полями? –