You have a very short time between successive sleep() periods; that is too short a time for the JVM to draw the GUI. Try changing the Thread.sleep() to System.in.read(); which will require some sort of keystroke (the enter key might be best, especially if you hold it down and it repeats automatically).
System.in.read() declares IOException, which you will have to handle.
By the way: Your repeated calls to Thread.sleep() represent duplicated code, which
you should avoid. You should write a sleep() method instead. Never have an empty catch block. In this instance you can probably get away with it, but in other instances it can obscure nasty errors.
And I think that is correct about the event dispatch thread. Beware: some people may not be familiar with the EDT abbreviation.