菜单按钮消失

The menu button disappear

我正在尝试开发一个在打开菜单时带有滑动主屏幕的侧边菜单。我遇到的问题是当我关闭侧面菜单时,菜单按钮消失了。 在此处输入 图片描述

    Form hi = new Form("Hi World");
    Toolbar tb = new Toolbar(false);
    Image icon = theme.getImage("icon.png");
    Container topBar = new Container(new BorderLayout());
    topBar.add(BorderLayout.SOUTH, new Label("Cool App Tagline...", "SidemenuTagline"));
    topBar.setUIID("SideCommand");
    Command SideLogoCommand = new Command("");
    SideLogoCommand.setIcon(icon);
    
    Command MenuCommand = new Command("");
    
   
    
    Button HomeCommand= new Button("Home");
    HomeCommand.getAllStyles().setFgColor(0xA6A6A6);
    HomeCommand.addActionListener((evt) -> {
        SideMenuBar.closeCurrentMenu();
    });

    Button WebsiteCommand= new Button("Website");
    WebsiteCommand.getAllStyles().setFgColor(0xA6A6A6);
   
    Button SettingsCommand= new Button("Settings");
    SettingsCommand.getAllStyles().setFgColor(0xA6A6A6);

    Container cnt = new Container(new BoxLayout(BoxLayout.Y_AXIS));
    cnt.add(topBar);
    cnt.add(HomeCommand);
    cnt.add(WebsiteCommand);
    cnt.add(SettingsCommand);
    hi.setToolbar(tb);
    tb.setOnTopSideMenu(false);
    hi.addCommand(SideLogoCommand);
    MenuCommand.putClientProperty("SideComponent", cnt);
    tb.addCommandToSideMenu(MenuCommand);
    
    hi.addComponent(new Label("Hi World"));
    hi.show();

我猜是因为这条线:

tb.setOnTopSideMenu(false);

您实际上是在强制使用较旧且测试较少的侧边菜单,这些菜单在较新的代码中可能仍有回归。最好的办法是删除该行。但是如果你坚持你可以尝试调用:

hi.setAllowEnableLayoutOnPaint(true);

注意这会影响长表单等的性能