No, show() won't bring it to the front. You oughtn't to use show() at all, but setVisible(true).
I think you were correct in your first suggestion; there is a method in the API; it is called toFront(). There are several like that, toFront(), toBack(), and setAlwaysOnTop(boolean), which will have your Window on top all the time, which is probably not what you want.
While you're in the API, have a look at the related java.awt.Component.requestFocus() methods.