Aldoria Robichaud,
it seems that your code somewhat repeats itself. For example the part(s) that move your strings. Is there a way to do that in a different way, with less code, maybe with a flow control statement?
You are using several variables in a connected kind of a way, as if they were a whole.
Java is object oriented, try thinking with objects and properties.
Keep in mind, that sleep(long) method that you're invoking is static. That means that it is not invoked on your instance of
Thread (the runner variable) but on the Thread class itself. Hope that made sense

It is good practice, as far as I understand, to invoke that kind of methods on a 'class level' ie. Thread.sleep(20), result is the same.
Also the thread goes to sleep for about the time you provide, results may vary. You can expect the thread to sleep for 20ms or more.