You construct the JDialog with the public JDialog(Dialog owner, boolean modal) constructor with 'modal' set to false.
Virtually all swing constructors and methods must be called from the Event Thread (which invokeLater will do), using you own Thread will almost certainly give rise to problems and is definitely not recommended.