2016-10-26 1 views
0

Tous les exemples pour DialogBox fait quelque chose commeComment créer un GWT DialogBox, mais pas le montrer

void someFn() 
{ 
    DialogBox box = new DialogBox(); 
    box.show(); 
} 

mais je veux créer plus tôt comme

private DialogBox box = new DialogBox(); 

void someFn() 
{ 
    box.show(); 
} 

Le problème est qu'il montre directement sans attendre d'action. Des idées comment cela peut-il être géré?

La boîte de dialogue est créée par une fonction appelée depuis le constructeur comme

private DialogBox makeMenu() { 
    DialogBox ret = new DialogBox(true); 
    FlowPanel f = new FlowPanel(); 
    f.getElement().getStyle().setProperty("minWidth", "350px"); 

    // Add stuff 
    f.add(...) 

    ret.setWidget(f); 
    return ret; 
} 
+0

La création d'un 'DialogBox' ne le montre pas. Que fait votre 'MyDialogBox' dans le constructeur, appelant probablement' show()/center() '? – Tobika

+0

Non, j'ai même essayé d'appeler hide() pour m'en assurer. – liftarn

Répondre

0

OK, la réponse a été une étape vers le haut. Vous ne devez jamais ajouter un DialogBox à un groupe spécial et je l'ai fait comme

FlowPanel container = new FlowPanel(); 
container.add(menu); 

erreur stupide, mais pas quelque chose que vous recherchez d'abord.