The thing is, inside my class extending jdialog i had
public void show(String text)
XThread.delay(1500); /*same as, try sleep catch exception*/
If the object is modal==false when running this method, it shows, waits 1.5 seconds and then closes as intended. If modal==true then it does not close, why?
The real answer is that dialog.show() or dialog.setVisible(true) is blocking when the dialog is modal - as long as the dialog is visible.
If you try to run the closing-code it after dialog.show() that code will never run.