JOptionPaneのボタン文字列

JOptionPaneを使っていて、デフォルトで表示される「了解」「取り消し」を別の文字列(「OK」「Cancel」)に変える方法が知りたかったので、少し調べた。
結論から言うと、次のようにすればできる。

UIManager.put("OptionPane.okButtonText", "OK")
UIManager.put("OptionPane.cancelButtonText", "Cancel")

そうすると他にも変更できるものが知りたくなって、UIManager.getDefaults().keys()を見てみると(参考URL2に載っている方法)、どうもJDK 1.5だとこの方法では一部取得できない情報があるようだ。それで色々調べて($JAVA_HOME/lib/rt.jarの中身を見たりして)やっと、

ResourceBundle.getBundle("com.sun.swing.internal.plaf.basic.resources.basic")

で得られるリソースから取得できることが分かった。他にも、"com.sun.swing.internal.plaf.metal.resources.metal", "com.sun.java.swing.plaf.gtk.resources.gtk", "com.sun.java.swing.plaf.windows.resources.windows"等を指定すると、それぞれのLook&Feelに対応したリソースが得られるらしい。