Есть ли способ создать что-то похожее на предупреждение Javascript в GWT? - PullRequest
5 голосов
/ 12 ноября 2010

Привет, есть ли способ создать нечто подобное Window.alert() в GWT?По сути, я хотел настроить кнопку «100» * «Ok», чтобы сказать что-то еще, но, как я исследовал, нет способа настроить окна оповещений.

Спасибо.

Ответы [ 3 ]

14 голосов
/ 12 ноября 2010

Window.alert () уже доступен в GWT.Он открывает собственное диалоговое окно, которое содержит кнопку OK, локализованную в соответствии с локалью браузера.Это окно оповещения нельзя изменить.

Использовать PopupPanel или DecoratedPopupPanel .

0 голосов
/ 12 ноября 2010

Я обычно кодирую универсальное диалоговое окно, которое создается один раз, и когда мне это нужно снова, содержимое и заголовок html заменяются.Вы также можете добавить комбинацию кнопок OK / Отмена, все это довольно просто.

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>
0 голосов
/ 12 ноября 2010

Вы можете использовать PopupPanel .

...