DestopManager.activateFrame(frame) turned out to be the solution. I derived it from one of the examples in there. Thanks for the help.
–
dahDec 3 '10 at 19:08

1

@dah, I would have thought frame.setSelected(true) would be easier. This is what the example uses every time a new frame is created. I've never seen the activateFrame() method referenced in the tutorials.
–
camickrDec 3 '10 at 21:22

I don't know why, but that didn't work for me.
–
dahDec 6 '10 at 15:20

I have an app where setSelected also doesn't work on Ubuntu, but it works on Windows and Mac.
–
ChinasaurJul 8 '11 at 19:18

@Chinasaur: I'm using Ubuntu and setSelected() seems to works fine.
–
lepeDec 14 '11 at 3:37

The OP has noted that setSelected was not working, and he needed to call activateFrame manually. This sounds similar to an issue I was having with GTKLookAndFeel. I had an application that was all wired up to use setSelected to eventually trigger activateFrame. Worked fine with Windows and Mac native look and feel; activateFrame would get called automatically.

On Ubuntu, the system selected LaF was GTKLookAndFeel and for whatever reason this was not calling activateFrame. It didn't appear that setSelected was throwing an error or anything, it just wasn't getting around to calling activateFrame as the other LaFs seem to do. I think it's a GTKLookAndFeel compatibility issue.

In the end I punted on this and just prohibited GTKLookAndFeel, replacing it with Metal. Motif also had the compatible behavior (but it's so ugly...). The code looks something like this: