Codenameone 当我试图打开侧菜单时,会出现异常

Codenameone 当我试图打开侧菜单时,会出现异常,codenameone,Codenameone,我正在尝试开发一个带有滑动主屏幕的侧菜单 这就是我所做的 在常量中将hideLeftSideMenuBool设置为true,并使用menuBtn打开侧菜单 我明白了: java.lang.NullPointerException at com.codename1.ui.Toolbar.showOnTopSidemenuImpl(Toolbar.java:1616) at com.codename1.ui.Toolbar$12.run(Toolbar.java:1567) at com.coden

我正在尝试开发一个带有滑动主屏幕的侧菜单

这就是我所做的

在常量中将hideLeftSideMenuBool设置为true,并使用menuBtn打开侧菜单

我明白了:

java.lang.NullPointerException
at com.codename1.ui.Toolbar.showOnTopSidemenuImpl(Toolbar.java:1616)
at com.codename1.ui.Toolbar$12.run(Toolbar.java:1567)
at com.codename1.ui.AnimationManager.flushAnimation(AnimationManager.java:220)
at com.codename1.ui.Toolbar.showOnTopSidemenu(Toolbar.java:1563)
at com.codename1.ui.Toolbar.openSideMenu(Toolbar.java:343)
..................

Form hi = new Form("Hi World");
        hi.setAllowEnableLayoutOnPaint(true);
        
        Toolbar tb = new Toolbar(false);        
        final Container ToolbarCnt = new Container(new BorderLayout());
        Container menuCnt = new Container(new FlowLayout(CENTER, CENTER));
        Button menuBtn = new Button(theme.getImage("ToolbarSideMenuIcon.png"),"Container");
        menuCnt.add(menuBtn);
        ToolbarCnt.add(BorderLayout.WEST, menuCnt);
        ToolbarCnt.getAllStyles().setMarginUnit(Style.UNIT_TYPE_SCREEN_PERCENTAGE);
        ToolbarCnt.getAllStyles().setMargin(1, 1, 2, 2);
        
        Command MenuCommand = new Command("");       
        Button HomeCommand= new Button("Home");
        HomeCommand.getAllStyles().setFgColor(0xA6A6A6);
        HomeCommand.addActionListener((evt) -> {
            SideMenuBar.closeCurrentMenu();
        });    
        
        Container cnt = new Container(new BoxLayout(BoxLayout.Y_AXIS));
        cnt.add(HomeCommand);

        hi.setToolbar(tb);
        tb.setTitleCentered(false);
        tb.setTitleComponent(ToolbarCnt);
        MenuCommand.putClientProperty("SideComponent", cnt);
        hi.addCommand(MenuCommand);
        menuBtn.addActionListener((evt) -> {

                hi.getToolbar().openSideMenu();                
            

        });

提前感谢您的支持。

菜单是在添加内容时构建的,由于您没有在菜单中添加任何内容,因此从未构建过。只需在菜单中添加项目,例如:

tb.addMaterialCommandToLeftSideMenu("Hello", materialIcon, e -> {});

菜单是在添加内容时构建的,因为您没有在菜单中添加任何内容,所以它从未构建过。只需在菜单中添加项目,例如:

tb.addMaterialCommandToLeftSideMenu("Hello", materialIcon, e -> {});