RE: [Gvsig_desarrolladores] ¿Se pueden crear ventanas dentro de Andami del tipo JFrame?

Jorge Bellido Diez jbellido en ikt.es
Mie Jul 16 12:42:38 CEST 2008


Hola Pablo, más que acceder al metodo windowClosed() me interesaría encontrar la forma de cancelar el cierre de una Ventana. Para que te hagas a la idea lo que quiero es que al cerrar la ventana salte un aviso de si desea guardar los cambios. En el caso de que pulse cancelar, quisiera cancelar la orden de cierre de ventana.
Esta consulta la hice anteriormente y me hablarón del metodo windowClosing implementando WindowListener, hice la prueba pero la ventana mía no pasa nunca por ese método al cerrar.. probablemente me equivocaría en algo, ¿tendrías un breve ejemplo? 
 
muchas gracias, jorge.
 
 
 

________________________________

De: gvsig_desarrolladores-bounces en runas.cap.gva.es [mailto:gvsig_desarrolladores-bounces en runas.cap.gva.es] En nombre de Pablo Piqueras Bartolomé
Enviado el: miércoles, 06 de febrero de 2008 12:24
Para: Lista de Desarrolladores de gvSIG
Asunto: Re: [Gvsig_desarrolladores] ¿Se pueden crear ventanas dentro de Andami del tipo JFrame?


Jorge Bellido Diez escribió: 

	Hola a todos .. Cuando añado una ventana desde mi plugin utilizo la instrucción PluginServices.getMDIManager().addWindow(panel); 
	Estas ventanas son del tipo JPanel en vez del tipo Jframe.
	Necesito controlar cuando se cierra mi ventana por lo que quería deshabilitar el cierre automático al pulsar la X de la ventana. En la web he visto que se puede usar la instrucción
	setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE); siempre que la clase sea del tipo Jframe
	¿Se puede extrapolar esto a la clase Jpanel? ¿Se pueden crear ventanas dentro de Andami del tipo JFrame?
	
	
	-----Mensaje original-----
	De: gvsig_desarrolladores-bounces en runas.cap.gva.es [mailto:gvsig_desarrolladores-bounces en runas.cap.gva.es] En nombre de Jorge Bellido Diez
	Enviado el: lunes, 07 de julio de 2008 13:07
	Para: Lista de Desarrolladores de gvSIG
	Asunto: RE: [Gvsig_desarrolladores] Cómo cancelar el cierre de mi ventana en Andami
	
	Hola Victor,.. He redefinido mi clase añadiendo el interfaz WindowListener e incorporo el método windowClossing. 
	Me debo de dejar algo porque no me responden estos método al ejecutar el código. 
	Me podrias pasar un breve ejemplillo..? Muchas gracias, Jorge
	
	public class VentanaInfoExpediente extends javax.swing.JPanel implements SingletonWindow, IWindowListener, WindowListener  {
	
	
		public void windowClosing(WindowEvent e) {
			// TODO Auto-generated method stub
			System.out.println("cerrannndo..");
			
		}
	
	 
	
	
	
	-----Mensaje original-----
	De: gvsig_desarrolladores-bounces en runas.cap.gva.es [mailto:gvsig_desarrolladores-bounces en runas.cap.gva.es] En nombre de Víctor Velarde Gutiérrez Enviado el: lunes, 07 de julio de 2008 12:28
	Para: 'Lista de Desarrolladores de gvSIG'
	Asunto: RE: [Gvsig_desarrolladores] Cómo cancelar el cierre de mi ventana en Andami
	
	Hola,
	
	Prueba con el evento windowClosing...
	  
	 
	Saludos,
	
	Víctor Velarde
	 
	 
	
	-----Mensaje original-----
	De: gvsig_desarrolladores-bounces en runas.cap.gva.es
	[mailto:gvsig_desarrolladores-bounces en runas.cap.gva.es] En nombre de Jorge Bellido Diez Enviado el: lunes, 07 de julio de 2008 12:16
	Para: Lista de Desarrolladores de gvSIG
	Asunto: [Gvsig_desarrolladores] Cómo cancelar el cierre de mi ventana en Andami
	
	Hola a todos.. tenia una duda sobre andami..
	tengo una ventana en la que edito unos valores alfanuméricos y quisiera que al cerrarla me pregunte si deseo guardarlos.. he definido mi clase de la siguiente manera: 
	
		public class VentanaInfoExpediente extends javax.swing.JPanel implements SingletonWindow,IWindowListener { ...
	
	El caso es que en el método escribo el código a guardar pero,la ventana siempre se cierra.
	
		public void windowClosed() {
	
		    int n=0;
	
		    if (this.editando){
				n = JOptionPane.showConfirmDialog( this,
							"¿Desea guardar los
	cambios?",
							"salir",
		
	JOptionPane.YES_NO_CANCEL_OPTION);
	
				this.setEditando(false,n);
			}
	
		if (n==2)         // cancelamos el cierre de la ventana
			//.. Desconozco la orden..
	
	}
	
	¿Cuál es la orden que tengo que utilizar para cancelar el cierre de la ventana cuando ya estoy dentro del procedimiento windowClosed ?
	 
	Muchas gracias y un saludo;
	Jorge Bellido
	
	
	_______________________________________________
	gvSIG_desarrolladores mailing list
	gvSIG_desarrolladores en runas.cap.gva.es
	http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
	
	
	_______________________________________________
	gvSIG_desarrolladores mailing list
	gvSIG_desarrolladores en runas.cap.gva.es
	http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
	
	_______________________________________________
	gvSIG_desarrolladores mailing list
	gvSIG_desarrolladores en runas.cap.gva.es
	http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
	
	_______________________________________________
	gvSIG_desarrolladores mailing list
	gvSIG_desarrolladores en runas.cap.gva.es
	http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
	
	
	  

Hola Jorge,

hay 2 tipos de "ventanas" (de tipo IWindow) que gestiona _fwAndami : JInternalFrame, y JDialog, ninguna de ambas es de tipo JFrame.

En principio se podría tratar el "cierre de ventana" según la "naturaleza" Java de dichos componentes.

Particularmente, una ventana puede tener implementado algún método para la notificación de cierre. El modo más habitual (y formal en gvSIG) es que un componente de tipo "IWindow", tambien implemente "IWindowListener", de _fwAndami.

En este último caso, por ejemplo para el caso de un JPanel que implementa IWindow, IWindowLister, ... puedes reimplementar el método "public void windowClosed()", que se ejecutará una vez cerrada la ventana.

Ten en cuenta que si heredas de alguna clase que implemente IWindow, esta ya puede tener lógica implementada para el cierre, y te interese utilizarla en vez de reemplazarla.


Espero haberte ayudado.

Saludos.


-- 
Pablo Piqueras Bartolomé

Equipo de gvSIG
IVER T.I. S.A.
C/. Lérida, 20
46005 - Valencia (Spain)
www.iver.es
www.gvsig.com

Este mensaje y sus archivos son confidenciales. No está permitida su reproducción o distribución sin la autorización expresa de "IVER Tecnologías de la Información". Si usted no es el destinatario previsto, queda desautorizado cualquier uso, acceso o copia de este mensaje. Si ha recibido este mensaje por error, por favor bórrelo e infórmenos por esta misma vía.

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://runas.cap.gva.es/pipermail/gvsig_desarrolladores/attachments/20080716/b0feabf3/attachment.htm


Más información sobre la lista de distribución gvSIG_desarrolladores