Swing is not thread safe. Implementing Runnable in the design of a Swing app should not be a consideration. If needed, a SwingWorker could be used, but it's not needed to do what you've described....