Java странная.
Все это связано с упорядочением ваших методов JFrame.Вы должны ВСЕГДА делать frame.setVisible(true);
в конце, предпочтительно в качестве последней строки кода во всем, что вы используете для запуска JFrame.В этом случае
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(700, 500);
frame.setResizable(false);
frame.setLocationRelativeTo(null); //Center start position
frame.add(headText);
будет изменено на
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(700, 500);
frame.setResizable(false);
frame.setLocationRelativeTo(null); //Center start position
frame.add(headText);
frame.setVisible(true);
Надеюсь, это поможет.
РЕДАКТИРОВАТЬ: игнорировать изменение с / на.Поставьте frame.setVisible(true);
после frame.add(panel1);
.