Due to the way AWT/Swing works, code that updates GUI elements should be run on the
EDT. However, I'm not sure what
doesn't need to be run on the EDT. For example, amongst other things, when initializing a window (like a JFrame, for instance), or setting its dimensions/location before it is first displayed/made visible, need it be run on the EDT? Should I just wrap everything in a
SwingUtilities.invokeLater call?