Java lwuit向导和部署

Java lwuit向导和部署,java,java-me,lwuit,codenameone,Java,Java Me,Lwuit,Codenameone,我正在用lwuit和Codenameone开发J2ME应用程序,并花了很多时间创建了它。在我创建了它之后,我想在一些设备上部署它,比如诺基亚、三星、LG等,它们支持MIDP。所以我发现诺基亚设备运行时没有错误,三星和其他公司的设备出现了一些问题,我不明白为什么 所以我尝试了不同的方法来创建这个应用程序。我使用带有空白主题和手动模板的Codenameone向导,然后尝试部署它。嗯,没错。我获得了成功,它也在三星设备上运行。 之后,我尝试在这个应用程序中为“主题”添加一些表单,并在模拟器中运行它。我

我正在用lwuit和Codenameone开发J2ME应用程序,并花了很多时间创建了它。在我创建了它之后,我想在一些设备上部署它,比如诺基亚、三星、LG等,它们支持MIDP。所以我发现诺基亚设备运行时没有错误,三星和其他公司的设备出现了一些问题,我不明白为什么

所以我尝试了不同的方法来创建这个应用程序。我使用带有空白主题和手动模板的Codenameone向导,然后尝试部署它。嗯,没错。我获得了成功,它也在三星设备上运行。 之后,我尝试在这个应用程序中为“主题”添加一些表单,并在模拟器中运行它。我在主类中更改了一些代码,如下所示:

public class Main extends UIBuilder {

private Form current;

public void init(Object context) {
    try{
        Resources theme = Resources.openLayered("/theme");
        UIManager.getInstance().setThemeProps(theme.getTheme(theme.getThemeResourceNames()[0]));
   }catch(IOException e){
        e.printStackTrace();
    }
}

public void start() {
    if(current != null){
        current.show();
        return;
    }
Form hi = findMain();//new Form("Hi World");
//hi.addComponent(new Label("Hi World"));
hi.show();
}

public void stop() {
    current = Display.getInstance().getCurrent();
}

public void destroy() {
}

public com.codename1.ui.Form findMain() {
    return (com.codename1.ui.Form)findByName("Main", Display.getInstance().getCurrent());
}}
我运行它时出错了

这就是我的问题: 我在Codenameone的可视模式下创建了一个应用程序。 如何在三星和三星等其他设备上运行它(没有操作系统,只支持java或MIDP)? 如何在Codenameone中将可视模式应用程序更改为手动模式


提前感谢。

您从lifecycle类中的
UIBuilder
派生,并尝试对尚未显示的内容使用finder方法。您的代码绝对不可能在模拟器中工作,也不是由向导生成的代码。

谢谢Shai。对于创建,我进行了硬编码,并一个接一个地创建所有表单

我实现了源于
com.codenameone.ui.Form
的基本表单,每个表单都源于基本表单