调用Dispose时不会自定义对话框

时间:2019-07-03 16:13:55

标签: java dialog codenameone

所以我对Codename One还是很陌生,我正在尝试Dialog类。 当我创建对话框时,它会显示按钮和文本,但是当我要丢弃它时,它不会消失。 有什么建议吗?

private void createDialog(String title) {

    Dialog dialog = new Dialog(title);
    dialog.add("You ended the game.");
    dialog.add("Choose what to do");
    Button stay = new Button("Stay");
    Button newGame = new Button("New Game");
    Button menu = new Button("Menu");

    dialog.add(stay);
    dialog.add(menu);
    dialog.add(newGame);
    dialog.show();
    dialog.dispose();

     if(stay.isToggle()){
        //
     }

  }

我希望有一个包含3个按钮,2个文本的对话框。 然后在我调用该方法时进行处理。 另外一个问题是,如果我希望单击按钮可以发生某些事情,则isToogle是正确的调用方法吗?

1 个答案:

答案 0 :(得分:2)

您正在dispose()之后立即调用show()方法,这是错误的,因为它将在显示对话框后立即尝试处置该对话框。

此外,要将点击事件添加到按钮,请调用addActionListener()

private void createDialog(String title) {

    Dialog dialog = new Dialog(title);
    dialog.add("You ended the game.");
    dialog.add("Choose what to do");
    Button stay = new Button("Stay");
    Button newGame = new Button("New Game");
    Button menu = new Button("Menu");

    dialog.add(stay);
    dialog.add(menu);
    dialog.add(newGame);
    dialog.show();

    stay.addActionListener(evt -> {
         dialog.dispose();
    });
}