Вы вызываете неправильный метод setVisible (true). Контейнеры панели содержимого по умолчанию всегда видимы, вам нужно сделать видимым JFrame.
Вместо
con.setVisible(true);
хочешь
this.setVisible(true);
потому что «это» относится к JFrame, который вы никогда не устанавливали видимым. Панель содержимого автоматически станет видимой.
Также есть несколько стандартных операций для JFrames, о которых вы должны знать:
JFrame.setSize(width, height);
//sets the size of the window in pixels
JFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//turns on window closing via the "x"
Это, безусловно, сделает ваше окно викторины. И похоже, что вы правильно добавили JLabels, так что они тоже появятся. Но вы действительно должны делать то, что рекомендуют комментарии, и создавать отдельные классы, потому что этот класс слишком большой и сложный. Он пытается обрабатывать JFrames, JPanels, JLabels, вопросы / ответы, события и даже ввод файлов! Не удивительно, что вы в замешательстве!
Более подробную информацию о создании JFrames можно найти по адресу
http://download.oracle.com/javase/tutorial/uiswing/components/frame.html