Java 代码名1';行不通
我在theme.res中创建了一个新的resourcebundle。我有两种语言(恩,达)。 我编写了以下代码:Java 代码名1';行不通,java,codenameone,Java,Codenameone,我在theme.res中创建了一个新的resourcebundle。我有两种语言(恩,达)。 我编写了以下代码: public void init(Object context) { theme = UIManager.initFirstTheme("/theme"); String lang = L10NManager.getInstance().getLanguage(); try { if (lang != null) {
public void init(Object context) {
theme = UIManager.initFirstTheme("/theme");
String lang = L10NManager.getInstance().getLanguage();
try {
if (lang != null) {
lang = lang.toLowerCase();
switch (lang) {
case "da":
Map<String, String> localMap = theme.getL10N("local", "da");
UIManager.createInstance().setBundle(localMap);
System.out.println("Entries: " + localMap.size());
break;
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void init(对象上下文){
theme=UIManager.initFirstTheme(“/theme”);
字符串lang=L10NManager.getInstance().getLanguage();
试一试{
if(lang!=null){
lang=lang.toLowerCase();
交换机(lang){
案件“da”:
Map localMap=theme.getL10N(“local”,“da”);
UIManager.createInstance().setBundle(localMap);
System.out.println(“条目:“+localMap.size());
打破
}
}
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
当我运行代码时,它会得到bundle,localMap会保持“da”landuage条目。
但什么也没发生。GUI文本只是关键。
这里有什么我错过的吗?这是错误的:
UIManager.createInstance().setBundle(localMap);
您应该使用:
UIManager.getInstance().setBundle(localMap);
Shai的答案是正确的。我还建议您使用Log.p(“…”)而不是System.out.println(“…”)。