You should give your apps UIs that users enjoy. Unhappy users make for unhappy programmers—and sometimes out-of-work programmers. You need to make your UIs attractive, easy to use, and responsive.
The code below behaves very strangely. The GUI thread is blocked, even though "work" is a totally different thread. If I put a print statement in mouseClicked, the print executes, work keeps running.