質問: JOptionPane.showMessageDialogなどで表示したダイアログを閉じた後、 フォーカスはどこにあるのでしょうか。 また、任意のコンポーネントにフォーカスを移すことは出来ますでしょうか。 (requestFocusInWindowを使いましたが出来ませんでした)
回答: grabFocus() 使えば requestFocusInWindow() との違いは最上位コンポーネントにフォーカスが設定されてる場合のみフォーカスが当たるかどうか。簡単に言えば、そのフレームがアクティブだった場合のみフォーカスが当たるのが requestFocusInWindow() 。そのフレームをアクティブにさせて、そのコンポーネントにフォーカスを当てるのが grabFocus() ってことだと思う。 SSCCE 書いたけど、↓の例だと結局どっち使ってもちゃんと5番目のテキストフィールドにフォーカス当たるね。 http://pastebin.com/03bBFvFG