Javaのswingアプリケーションの文字化けの解決方法

Javaの日本語を含むSwingアプリケーションを作るときにハマってしまいました。
解決策も合わせて書きたいと思います。

まず、私のMac OS XのJavaの環境は以下の通りです。

$ java -version
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-10M3909)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode)

とりあえず、Java以下のソースをコンパイルして実行すると文字化けはおこりません。

$ vim Hello.java

public class Hello{
        public static void main(String[] args){
                System.out.println("Hello in English\n");
                System.out.println("こんにちは in English\n");
        }
}

$ javac Hello.java
$ java Hello


Hello in English

こんにちは in English


コンソールではうまくいくようです。
しかしSwingではうまくいきません。


$ vim Hello.java


import javax.swing.*;

public class Hello{
        public static void main(String[] args){
                JFrame frame = new JFrame("こんにちは");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

                frame.setSize(500,300);
                frame.setVisible(true);
        }
}

$ javac Hello.java
$ java Hello

題名が見事な文字化けをしています。
すこし調べた結果、以下のようにするとうまくいくことがわかりました。
文字コードをUTF8 と明示することがミソのようです。

$ javac -J-Dfile.encoding=UTF-8 Hello.java
$ java -Dfile.encoding=UTF-8 Hello

無事解決しました。
エイリアスを設定しておくと便利です。

$ vim ~/.bashrc

#この一行を追記する
alias javac='javac -J-Dfile.encoding=UTF-8'
alias java='java -Dfile.encoding=UTF-8'

【参考文献】
jitsu102の日記