Java 代码名1';行不通

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) {

我在theme.res中创建了一个新的resourcebundle。我有两种语言(恩,达)。 我编写了以下代码:

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(“…”)。