In a Swing-app is it okay to invoke System.exit()
from any thread? (e.g. on the EDT?)
There is absolutely nothing wrong with calling System.exit from any thread you wish. Letting it exit "normally" does not work in practice, because you'll find that the app will be hanging around while the GC collects stuff, before the app quits. I've written tons of gui Swing apps, and there is absolutely nothing wrong with calling it. It's not "rude" either. It's the Java way.