Form 底部的 MenuBar 对象如何工作?

How does the MenuBar object at the bottom of Form work?

我正在为表单底部的菜单栏而苦苦挣扎 - 代码名称为此处的 Javadocs 指示的那个:

我似乎找不到示例,但据我所知,类似以下内容应该可行:

    public void start() {
        if(current != null){
            current.show();
            return;
        }

        Form hi = new Form("Welcome");
        MenuBar menubar = hi.getMenuBar();
        Command test = Command.create("TEST",null,(e)->{
            Log.p("test clicked");
        });
        menubar.addCommand(test);

        hi.show();
    }

但是,我没有菜单栏。

显然我在这里遗漏了一些基本的东西 - 谁能告诉我我做错了什么?

您还没有为表单分配 MenuBar。首先,您必须创建一个,然后使用函数

分配它
setMenuBar(MenuBar menubar)

菜单栏逻辑有点旧,您不需要定义或使用它。现代代号 One 应用程序使用 Toolbar 来放置元素,并且通常将它们的内容添加到 Form 的顶部。我将更新 JavaDoc 以反映这一点。

如果您有兴趣在表单底部有一个菜单,只需这样做:

Form myForm = new Form("With Menu at Bottom", new BorderLayout());
Container content = new Container(...);
myForm.add(BorderLayout.CENTER, content);
myForm.add(BorderLayout.SOUTH, 
    GridLayout.encloseIn(4, menuButton1, menuButton2, menuButton3, menuButton4);

只需将您的真实内容添加到 content 并按您喜欢的方式创建按钮。