2010-11-12 6 views
5

Ciao c'è un modo per creare qualcosa di simile a Window.alert() in GWT? Fondamentalmente volevo personalizzare il pulsante "Ok" di Window.alert() per dire qualcos'altro ma come ho cercato, non c'è modo di personalizzare le caselle di avviso.C'è un modo per creare qualcosa di simile all'avviso di Javascript in GWT?

Grazie.

+0

Cosa c'è di sbagliato con il creare la propria finestra? – Bogdan

+0

Questo può aiutarti: http://gwt.google.com/samples/Showcase/Showcase.html. Demo di widget GWT. – z00bs

risposta

14

Window.alert() è già disponibile in GWT. Apre una finestra di dialogo nativa che contiene un pulsante OK localizzato dalle impostazioni locali del browser. Questa casella di avviso non può essere modificata.

Utilizzare PopupPanel o DecoratedPopupPanel.

0

Generalmente codifico una finestra di dialogo generica, creata una volta e quando ne ho bisogno, il contenuto e il titolo html vengono sostituiti. È anche possibile aggiungere una combinazione di pulsanti OK/Annulla, tutto questo è piuttosto semplice.

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

L'HTML è qualcosa di molto semplice, vale a dire

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