gpt4 book ai didi

java - 调用 dispose 时,自定义对话框不会释放

转载 作者:行者123 更新时间:2023-12-02 01:26:12 25 4
gpt4 key购买 nike

所以我对 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 是正确的调用方法吗?

最佳答案

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

此外,要将点击事件添加到按钮,请调用 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();
});
}

关于java - 调用 dispose 时,自定义对话框不会释放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56874298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com