有没有办法在GWT中创建类似于Javascript警报的东西?

时间:2010-11-12 18:18:23

标签: java gwt alert

您好有办法在GWT中创建类似Window.alert()的内容吗? 基本上我想自定义Window.alert()的“确定”按钮来说出别的但是 因为我研究过没有办法自定义警报框。

感谢。

3 个答案:

答案 0 :(得分:14)

Window.alert()已在GWT中提供。它打开一个本机对话框,其中包含由浏览器的语言环境本地化的OK按钮。此警告框无法更改。

使用PopupPanelDecoratedPopupPanel

答案 1 :(得分:0)

您可以使用PopupPanel

答案 2 :(得分:0)

我通常编写一个通用对话框,创建一次,当我再次需要它时,替换html内容和标题。您还可以添加“确定/取消”按钮组合,这一切都非常简单。

private DialogBox   dialog     = null;
private HTML        dialogHtml = new HTML();
public void onDialog(final String title, final String html) {
  if (dialog == null) {
    dialog = new DialogBox();
    dialog.getElement().getStyle().setZIndex(99);
    dialog.setWidth("500px");
    dialog.setGlassEnabled(true);
    dialog.setAnimationEnabled(true);
    dialog.setModal(true);
    VerticalPanel vp = new VerticalPanel();
    vp.add(dialogHtml);
    HorizontalPanel hp = new HorizontalPanel();
    hp.setWidth("100%");
    Button close = new Button("close");
    close.setWidth("200px");
    close.addClickHandler(new ClickHandler() {
      @Override
      public void onClick(ClickEvent event) {
        dialog.hide();
      }
    });
    hp.add(close);
    hp.setCellHorizontalAlignment(close, HasHorizontalAlignment.ALIGN_CENTER);
    hp.getElement().getStyle().setMarginTop(40, Unit.PX);
    vp.add(hp);
    vp.setSpacing(10);
    dialog.add(vp);
  }
  dialogHtml.setHTML(html);
  dialog.setHTML(title); // the actual title
  dialog.show();
  dialog.center();
}

HTML内容非常简单,即

<div style="width: 500px; overflow: auto;">...</div>