MyResources.java-------------------------------------------------------
package com.se;
import java.util.ListResourceBundle;
public class MyResources extends ListResourceBundle {
protected Object[][] getContents() {
Object[][] contents={{"send","送信"},{"cancel","取消"}};
return contents;
}}
MyResources_en_US.java---------------------------------------------
package com.se;
import java.util.ListResourceBundle;
public class MyResources_en_US extends ListResourceBundle {
protected Object[][] getContents() {
Object[][] contents = {{"send", "send"},{"cancel", "cancel"}};
return contents;
}}
Main.java-------------------------------------------------------------------
import java.util.Locale;
import java.util.ResourceBundle;
public class Sample5_6 {
public static void main(String[] args) {
Locale japan=Locale.getDefault();
Locale us=Locale.US;
Locale [] locArray={japan,us};
for(Locale locale:locArray){
ResourceBundle obj1=ResourceBundle.getBundle("com.se.MyResources",locale);
System.out.println("send :"+obj1.getString("send"));
System.out.println("cancel:"+obj1.getString("cancel"));
}}}
Eclipse4.3で実施したところ、
send :送信 cancel:取消 send :送信 cancel:取消 と言う結果で英語対応がなされていません。どうしてでしょうか?分かる方お願いします。
MyResources_en_US.java は MyResources.java から派生する必要があったはずです。
package com.se; import java.util.ListResourceBundle; /* ↓コレ */ public class MyResources_en_US extends MyResources { protected Object[][] getContents() { ...
getBundleで、MyResources_en_USを引数に指定してないからだと思います。
Eclipse4.3の該当binフォルダsom.seを観ると、MyResources.classしかないんです。MyResources_en_US.classが無いのです。多分それが原因だと思うのですが...。