Java 在按钮处捕获GWT ClickEvent

Java 在按钮处捕获GWT ClickEvent,java,gwt,button,dialog,onclick,Java,Gwt,Button,Dialog,Onclick,我有一个按钮,当你点击它时,它会显示一个对话框 然而,如果你点击按钮,它会显示对话框,同时它会关闭,然后再次打开 对话框的closeEvent似乎在按钮上的clickEvent之前显示。因此,如果选中dialogBox.isShowing(),它将再次打开。因为对话框在抛出显示该框的clickEvent时关闭 我的想法是抓住onClick事件并将其扔掉,但我不知道如何做到这一点 有人知道解决此问题的方法吗?您可以创建一个变量来保存对话框的状态 if(myDialogOpen==false) {

我有一个按钮,当你点击它时,它会显示一个对话框

然而,如果你点击按钮,它会显示对话框,同时它会关闭,然后再次打开

对话框的closeEvent似乎在按钮上的clickEvent之前显示。因此,如果选中dialogBox.isShowing(),它将再次打开。因为对话框在抛出显示该框的clickEvent时关闭

我的想法是抓住onClick事件并将其扔掉,但我不知道如何做到这一点


有人知道解决此问题的方法吗?

您可以创建一个变量来保存对话框的状态

if(myDialogOpen==false)
{
    openDialog();
}
或者,您可以将dialogbox作为变量保存在您使用的类中

DialogBox myDialog;
if(myDialog==null)
{
    openDialog()
}
无论哪种方式,在打开或关闭对话框时都必须重置变量。基本上,如果对话框已经打开,它什么也不做

以下是一些可能的想法,如果你添加一些代码,我可以给你一个更好的答案。

询问 ?


您可以在中捕捉事件

问题是当我有一个变量来保存盒子的状态时,盒子是关闭的。因此,变量将设置为boxiclosed,然后触发onclick事件。因此,对于clickEvent,框被关闭,并将在事件中再次显示。preventDefault()是我一直在寻找的东西。但我太蠢了,两个人都去工作了。您可以单击按钮关闭该框。但是如果你通过点击盒子外面来关闭盒子,你必须点击它几次。或者,您可以单击框外以关闭ist,但该按钮将不起作用。创建对话框的最终对象,并通过在单击时维护全局变量来显示和隐藏。并在单击doument时更新全局变量,如此处欢迎使用stackoverflow。你能分享你用代码片段尝试过的东西吗?您是否尝试过DialogBox的自动隐藏或模式功能?你能更好地解释你的要求吗?