带有可关闭图标的GWT消息框

时间:2014-08-28 05:37:15

标签: gwt gxt

我在我的gwt应用程序中使用gxt(2.6)messagebox ..   我尝试了以下代码以保持可关闭图标..但它无法正常工作

Messagebox.setclosable(真);

2 个答案:

答案 0 :(得分:0)

一个错误?: http://www.sencha.com/forum/showthread.php?50995-FIXED-Bug-in-MessageBox.setClosable%28true%29

您还可以轻松地构建一个自定义组件,以便弹出一个窗口,其中包含" close"按钮,例如:

public class EnhancedDialogBox extends DialogBox {

    public EnhancedDialogBox(String header, String text){
        setText(header);
        FlowPanel fp = new FlowPanel();
        Button ok = new Button("Close");
        ok.addClickHandler(new ClickHandler() {
            public void onClick(ClickEvent event) {
                EnhancedDialogBox.this.hide();
            }
        });
        Label lbl = new Label(text);
        fp.add(lbl);
        fp.add(ok);
        add(fp);
    }

}

如果需要或作为快速和肮脏的修复或解决方法。

答案 1 :(得分:0)

它是gxt 2.6中的一个未修复的bug。我查看了MessageBox.class中的alert()函数..

public static Messagebox alert(String title, String msg,
        Listener<MessageboxEvent> callback) {
    Messagebox box = new Messagebox();
    box.setTitle(title);
    box.setMessage(msg);
    box.callback = callback;
    box.setButtons(OK);
    box.icon = WARNING;
    box.show();

    return box;
}

如果我们在现有方法中添加 box.setClosable(true); ,它将正常工作

public static Messagebox alert(String title,String msg,             监听器回调){         Messagebox box = new Messagebox();         box.setTitle(标题);         box.setMessage(MSG);         box.callback = callback;         box.setButtons(OK);         box.icon =警告;         box.setClosable(真);         box.show();

    return box;
}