Нет необходимости вызывать super.paintComponent (Graphics g) для рисования дочерних компонентов. Вызов полезен, чтобы нарисовать фон, но не обязательно.
Я протестировал код на Java 6, и он работал нормально для меня. Единственное изменение, которое я сделал, было добавить следующую строку в конструктор:
add(new JLabel("Test"));
У меня нет файла фонового изображения, поэтому код рисования изображения ничего не делал. Либо фоновое изображение каким-то образом затеняет дочерние компоненты, либо в коде есть ошибка, которая добавляет дочерний компонент. Попробуйте закомментировать вызов drawImage и посмотрите, становятся ли видимыми дочерние компоненты.