I've been at this for hours. I've now distilled it down to a very simple test program. First, I'm running JRE 7 on Linux (I've heard that can make a difference). Here is what I'd like the following program to do:
1. Open 3 windows
2. Set the focus to "TestWindow 1"
What it actually does:
1. Opens 3 windows
2. Sets the focus typically to "TestWindow 3" and sometimes to "TestWindow 2"
After much reading, I've moved the focus request (and almost everything else gui related for that matter) into the event dispatch thread.
Please let me know your ideas! Now I'm dying of curiosity as to the solution.