2011-02-08 5 views
7

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

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(); 

ответ

10

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

Спасибо, это было решение моей проблемы , – dstefanox

0
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); 
} 
Смежные вопросы