Actually, your class NewThread probably runs. I think what's happening here is that the very first line of code in the run() method is throwing an exception since it's a GUI operation (you're trying to open a dialog).
You will need to run any gui operations on the event dispatch thread or hold the event lock (see DB-00134
). If you've done any gui work with swt or swing this concept should be familiar.
The reason why you're getting the error msg "blocking operation not permitted on event dispatch thread" is exactly what it says. When you call the run() method, you're not creating a new thread at all. It's just another method call. In this case, the caller of run() is just the main event dispatch thread.
The piece of code "Connector.open(URL)" is a block operation (the javadocs should mention that it is). If you want to open a socket, this has to be done on a background thread. Your NewThread class is fine but like I said about, you will need to execute all gui operations on the event dispatch thread.