Java GXT:销毁对话框没有';行不通

Java GXT:销毁对话框没有';行不通,java,gwt,gxt,gwt2,Java,Gwt,Gxt,Gwt2,我有一个Dialogbox类: public class Dialogbox { public static final Window dialogbox = new Window(); public Dialogbox() { dialogbox.setAnimateMinimize(true); dialogbox.setWidth(469); dialogbox.setHeight(487); dialo

我有一个Dialogbox类:

public class Dialogbox {

    public static final Window dialogbox = new Window();

    public Dialogbox() {
        dialogbox.setAnimateMinimize(true);

        dialogbox.setWidth(469);
        dialogbox.setHeight(487);
        dialogbox.setShowMinimizeButton(true);
        dialogbox.setAutoSize(true);
        dialogbox.setCanDragReposition(true);
        dialogbox.setCanDragResize(true);
        dialogbox.setIsModal(true);
        // dialogbox.setShowModalMask(true);
        dialogbox.addCloseClickHandler(new CloseClickHandler() {
            @Override
            public void onCloseClick(CloseClientEvent event) {
                // TODO Auto-generated method stub
                dialogbox.destroy();
            }
        });

    }

    public void show(Widget name, String txt) {
        dialogbox.setTitle(txt);
        dialogbox.addItem(name);
        dialogbox.setPadding(10);
        AnimationCallback callback = null;
        dialogbox.animateMove(400, 100, callback, 1000);


        dialogbox.show();

    }
当我尝试合成时:

f list = new f();
dia.show(f, "price");
我得到一个错误:

[ERROR] 15:34:20.020:WARN:Canvas:isc_WidgetCanvas_1:Attempt to access destroyed widget in the DOM - destroy() called at invalid time (eg: mid-draw) or invalid method called on destroy()d widget. Stack Trace:
我的收件箱组合是一个小部件:

    Canvas canvas = new Canvas();
    canvas.addChild(btnNewButton);
    initWidget(canvas);

为什么我不能破坏我的对话框?是否必须先删除小部件?

如果要隐藏对话框,请使用
dialogbox.hide()

是,如果要隐藏对话框, 然后你可以用
dialogbox.hide()
其中,如果要删除该对话框, 然后,可以使用从其父元素拆离/删除它

dialogbox.removeFromParent()
但是,正如我所料,您只想隐藏对话框


在这里,我给出了两种方法,您可以根据自己的需求使用它

thx,我用一个清晰的字体对它进行了测试。我添加了一个新项目,它可以像对话框一样删除。从父项中删除,我可以再次使用它吗?显然,不能。如果你想再次使用它,你必须再次将它添加到它的父项中。