У вас панель которую вы добавляете на фрейм имеет нулевые размеры, не забывайте.
Сделайте так.
JFrame fr = new JFrame();
//устанавливаем абсолюбтное позиционирование на фрейме
fr.setLayout(null);
fr.setSize(500,500);
Main m = new Main();
//устанавливаем размеры и координаты компонента для размещения в родителя с абсолютным позиционированием
m.setBounds(0,0,500,500);
fr.add(m);
//обязательная вещь, говорит о том что когда ты закроешь окно - и приложение тоже должно закрыться, если этого не сделать, то после закрытия окна приложение продолжит работу и будет висеть в памяти
fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fr.setVisible(true);
Если есть возможность не пользуйся свингом а сразу иди на JavaFX