Использование NotificationMole в GWT - PullRequest
7 голосов
/ 08 февраля 2011

Я искал компонент, аналогичный уведомлению Android Toast для GWT (я достаточно долго гуглил и знаю, что есть Ext-GWT, в котором есть что-то похожее, но я хочу избегать внешних библиотек).Похоже, что NotificationMole - это компонент, который я ищу, и что этот компонент доступен в GWT 2.1.Однако, когда я пытаюсь показать это в моем приложении, оно никогда не появляется.Кто-нибудь использовал этот компонент?Вот пример того, как я его использую:

NotificationMole nm = new NotificationMole();
nm.setAnimationDuration(2000);
nm.setTitle("Title");
nm.setHeight("100px");
nm.setWidth("200px");
nm.setMessage("Test message to be shown in mole");
nm.show();

Ответы [ 2 ]

10 голосов
/ 08 февраля 2011

NotificationMole должен быть присоединен к DOM, прежде чем его можно будет отобразить:

HasWidgets panel; // This can be any panel that accepts children.
NotificationMole nm = new NotificatioMole();
panel.add(nm);
// Setup the NotificationMole...
nm.show();
0 голосов
/ 29 июня 2013
private void tellUser(String what) 
{
    PopupPanel pop = new PopupPanel(true);
    pop.setWidget(new Label(what));


    final PopupPanel p = pop;

    RootPanel.get().add(pop);

    pop.setPopupPositionAndShow(new PopupPanel.PositionCallback() {
          public void setPosition(int offsetWidth, int offsetHeight) {
            int left = (Window.getClientWidth() - offsetWidth) / 2;
            int top = (Window.getClientHeight() - offsetHeight) / 2;
            p.setPopupPosition(left, top);
          }
        });

    new Timer() {
      @Override
      public void run() 
      {
        System.out.println("timer repeated");
        RootPanel.get().remove(p);
        this.cancel();
      }
    }.scheduleRepeating(2000);
}
...