2010-03-10 24 views
6

Quiero abrir una subventana desde otra subventana. Es decir, tengo una ventana emergente emergente en esa ventana que coloqué un botón. Si hacemos clic en ese botón, se abrirá otra ventana emergente. Cuando intento esto, obtengo el error "java.lang.IllegalArgumentException: solo puede agregar ventanas dentro de las ventanas de nivel de aplicación". ¿Alguien puede decirme cómo resolver esto en vaadin?¿Cómo abrir una nueva ventana secundaria desde otra ventana secundaria en vaadin?

Respuesta

12

Necesita una referencia a la ventana principal de la aplicación y añada una subventana a eso.

yourCurrentSubWindow.getApplication().getMainWindow().addWindow(myNewSubWindow); 

Espero que esto ayude.

+0

En mi caso he intentado lo mismo con una referencia que pase a mi CustomComponent y trataron de añadir la ventana desde allí: refToApplicaiton.getMainWindow(). addWindow (myNewSubWindow); pero obtengo el mismo error. ¿Alguna idea? – javydreamercsw

3

Sólo una pequeña corrección a la solución anterior:

yourCurrentSubWindow.getApplication().getMainWindow().addWindow(myNewSubWindow); 

Esos DIV-bases niño incrustado ventanas no pueden contener sub-ventanas, pero la ventana principal (y cualquier otra ventana nativa nivel superior) pueden.

0

En Vaadin 7 esto se puede hacer de la siguiente manera:

getUI().addWindow(myNewSubWindow); 
Cuestiones relacionadas