I have a question about the \'Event Dispatch Thread\'. I have a Main class that is also a JFrame. It initialises the rest of the components in the code, some of them do not
This is the way to go. The only thing you should be careful about is if a listener that you register with the Swing components will spawn a new Thread (often for carrying out some long computation). Such new threads will need to use invokeLater if they are to carry out GUI operations.