1

我制作了一个对话框,其中有一些按钮。

在该按钮之一的操作上,我想完成对话框。

我不想在其中添加任何命令。

请帮忙。

这是我的代码。

Form form = (Form) createContainer("/theme", "MYDialog1"); Container container = (Container) findByName("Container", form); button = new Button(new Command("Close"),i)); try { button.setUIID("LabelButton"); } catch (Exception exception) { exception.printStackTrace(); } button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { ?????? } }); container.addComponent(button); Dialog.show("", form, null);

4

2 回答 2

4

如果您将命令添加到对话框,它将默认处理对话框。

您可以手动调用dialog.dispose()以关闭对话框,以获取当前对话框只需使用Dialog dlg = (Dialog)Display.getInstance().getCurrent();

于 2013-03-15T13:12:44.693 回答
0

您在对话框和容器之间没有任何关系。因为这个原因你不能处理对话框。

我从你的问题中了解到的是你不会使用命令,因为你想要你的 gui 按钮。

我的建议是创建这样的对话框(我认为可以工作):

Dialog dialog = new Dialog();
    Display.getInstance().callSerially(new Runnable() {
        public void run() {
            dialog.setLayout(new BoxLayout(BoxLayout.Y_AXIS));
            ...
            dialog.addComponent(dialog);

            button = new Button(new Command("Close"),i));
             try 
             { 
               button.setUIID("LabelButton"); 
              }
            catch (Exception exception) 
             {
            exception.printStackTrace(); 
             }
             button.addActionListener(new ActionListener() 
              { 
                  public void actionPerformed(ActionEvent evt) 
                    {
                        dialog.dispose();//???????????
                    }

            dialog.addCommand(okCommand);
            ...
            dialog.show();
        }
    });

此对话框需要是类成员才能被按钮识别。

于 2013-03-12T15:10:08.990 回答