//////////////////// Hello.java ////////////////////
import java.util.ResourceBundle;
import java.util.Locale;
class Hello
{
public static void main(String args[])
{
// カレントロケールに従う
ResourceBundle res1 = ResourceBundle.getBundle("ResHello");
// 日本語のリソースを使う
// ResourceBundle res2 = ResourceBundle.getBundle("ResHello",Locale.JAPAN);
// 英語のリソースを使う
// ResourceBundle res3 = ResourceBundle.getBundle("ResHello",Locale.US);
// リソースの取得
String hello = (String)res1.getObject("hello");
System.out.println(hello);
}
}
////////////////////////////////////////////////////////////
//////////////////// ResHello.java ////////////////////
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.ResourceBundle;
// デフォルトのリソース (英語リソース)
public class ResHello extends ResourceBundle
{
// 英語リソースのデータ
Hashtable data_source;
// コンストラクタ
public ResHello()
{
data_source = new Hashtable();
data_source.put("hello","Hello!");
}
public Object handleGetObject(String key)
{
if(data_source.containsKey(key))
return(data_source.get(key));
return null;
}
// ResourceBundleクラスのオーバーライド
public Enumeration getKeys()
{
return(data_source.elements());
}
}
////////////////////////////////////////////////////////////
//////////////////// ResHello_ja_JP.java ////////////////////
import java.util.Enumeration;
import java.util.Hashtable;
// 日本語リソース
public class ResHello_ja_JP extends ResHello
{
// 日本語リソースのデータ
Hashtable data_source;
// コンストラクタ
public ResHello_ja_JP()
{
data_source = new Hashtable();
data_source.put("hello","こんにちは");
}
public Object handleGetObject(String key)
{
if(data_source.containsKey(key))
return(data_source.get(key));
return null;
}
// ResourceBundleクラスのオーバーライド
public Enumeration getKeys()
{
return(data_source.elements());
}
}
////////////////////////////////////////////////////////////
//////////////////// ResHello_en_US.java ////////////////////
import java.util.Enumeration;
import java.util.Hashtable;
// 英語リソース
public class ResHello_en_US extends ResHello
{
public Object handleGetObject(String key)
{
return null;
}
public Enumeration getKeys()
{
return(super.getKeys());
}
}
////////////////////////////////////////////////////////////
Source is here. (ZIP Format,1530Byte,Shift-JIS)