CodeNameOne动态创建表单,如何"返回"

jam*_*own 7 java lwuit codenameone

在一个按钮的actionListener中,我们想要动态创建一个Form.

例如,像

Button b = new Button("Clickme");
b.setActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
        Form f = new Form();
        Container c = new Container();
        ...
        f.addComponent(c);
        f.show();
    }
});
Run Code Online (Sandbox Code Playgroud)

哪个工作正常.....但"后退"按钮不起作用

有没有人知道在actionListener中实现动态表单的正确方法,或通过动作侦听器跳转到预定义的表单?

谢谢

詹姆士

Sha*_*mog 4

您需要创建一个后退命令并将其与表单关联:

Command back = new Command("Back") {
     public void actionPerformed(ActionEvent ev) {
         // notice that when showing a previous form it is best to use showBack() so the 
         // transition runs in reverse
         showPreviousForm();
     }
};
f.setBackCommand(back);
Run Code Online (Sandbox Code Playgroud)

您可以在厨房水槽演示中看到这一点,该演示完全是手工编码的。