GXT:销毁Dialogbox不起作用

时间:2014-02-19 14:49:04

标签: 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);
        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:

我的in-Box Composite是一个小工具:

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

为什么我不能销毁我的Dialogbox?我是否必须先删除小部件?

2 个答案:

答案 0 :(得分:1)

是的,如果你想隐藏对话框, 然后你可以使用  dialogbox.hide() 如果要删除对话框, 然后你可以使用

从它的父元素中删除/删除它
dialogbox.removeFromParent()

但是,正如我的期望你只想隐藏对话框。

在这里,我提供了两种方法,您可以根据您的要求使用它。

答案 1 :(得分:0)

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