Swing GUI applications are usually a mix of business, GUI and data model code. Since most applications contain some sort of “main frame”, I’ve seen many applications with the main method in the MainFrame class.
Most applications use some sort of global configuration, and it is not unusual to find initialization code also in the MainFrame class, along with a lot of methods used for centralized event/error processing and similar.
Try to separate the presentation (visual) code from your application or business logic. The frame class should be concerned only with setting up the layout of the components and linking them to the right event handlers (see MVC).
Do not put initialization code or centralized event/error handling methods into your MainFrame class. Put the initialization code and all application-specific methods into a static singleton Application class. That class is also a good candidate to hold the main method. Components can ask the Application class for the main window reference when displaying dialogs (see Modal JDialog In Applet and Always Set Parent For Modal Dialogs), you have gained the flexibility to work with multiple frames, and you can convert the application to an applet by changing a few lines of code.