Foros del Web » Programación para mayores de 30 ;) » Java »

Cerra ventana en Java y variable Global

Estas en el tema de Cerra ventana en Java y variable Global en el foro de Java en Foros del Web. Buenos dias, tengo dos interrogantes, he buscado en diversos temas de este foro pero no he encontrado la solucion. 1.- Estoy desarrollando una aplicacion con ...
  #1 (permalink)  
Antiguo 28/02/2006, 10:54
 
Fecha de Ingreso: enero-2005
Mensajes: 53
Antigüedad: 19 años, 3 meses
Puntos: 0
Cerra ventana en Java y variable Global

Buenos dias, tengo dos interrogantes, he buscado en diversos temas de este foro pero no he encontrado la solucion.

1.- Estoy desarrollando una aplicacion con JSwing, la primera ventana que hago es pedir un login y contraeña para que al validarse me aparezca una nueva ventana con un menu de opciones. Efectivamente , ingreso el login y password, valido y de una vez me aparece la otra ventana. Como hago para eliminar la ventana inicial ( la que me pide login y password ) ...???? he intentado con setVisible(false), dispose , y nada. No quiero que la ventana se oculte, quiero que la ventana desaparezca por completo y me quede la ventana donde tengo el menu.

2.- Siguiendo con el mismo caso, cuando pido el login y password, obviamente ingreso los datos . Estos datos los busco en la tabla de una base de datos y valido de que el usuario exista, de ser asi, entonces aparece la nueva ventana con el menu. Hasta ahi no hay problema ( Excepto el que menciono en el punto anterior ). Cuando valido el usuario, tambien guardo el nombre del usuario - encontrado en la tabla- en una varible. Pero como hago para que esta variable mantenga su valor durante todo el transcurso de la aplicacion....???

Gracias por su colaboracion...
  #2 (permalink)  
Antiguo 28/02/2006, 13:00
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Prueba con una de las 2 opciones siguientes :
Código:
if(JOptionPane.showConfirmDialog(JOptionPane.getFrameForComponent(getParent()),"¿Desea cerrar la ventana?","Salir",JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION)
         { //Opción 1 : que no se vea , this se supone que es un jFrame
            this.setVisible(false);
            //Opción 2: si ya has abierto otro contenedor visual , podrias cerrar este con: System.exit(0);         }
  #3 (permalink)  
Antiguo 28/02/2006, 13:07
 
Fecha de Ingreso: enero-2005
Mensajes: 53
Antigüedad: 19 años, 3 meses
Puntos: 0
Gracias por tu intencion pero no es lo que necesito. ME explico, no estoy trabajando con JDialog. Cuando tengo mi primera venta de peticion de login y password y son validos, cargo una nueva ventana y quiero que se cierre la primera para quedar solamente con la segunda. Debe ser algo automatico, sin preguntar si deseo cerrar la ventana. Y si aplico System.exit(0), se me cierra toda la aplicaciòn y no es la idea
  #4 (permalink)  
Antiguo 28/02/2006, 15:28
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Tu algoritmo seria:

Si validacion es correcta llamo a nueva ventana y cierro la actual
Pues create una clase aparte , por ejemplo un JFrame que se llame OtraVentana y que en el constructor admita una variable de tipo string como usuario

//constructor de OtraVentana
public OtraVentana(String usuario){
//... lo que sea
}

Y para llamar a esta OtraVentana , pues si la validación ha sido correcta:
new OtraVentana(usuario).setVisible(true); ( deonde usuario es una variable de tipo string )
Y para cerrar el padre solo se me ocurre
this.setVisible(false); A mi me ha funcionado ... suerte
  #5 (permalink)  
Antiguo 01/03/2006, 07:58
 
Fecha de Ingreso: enero-2005
Mensajes: 53
Antigüedad: 19 años, 3 meses
Puntos: 0
Gracias, me dió una buena idea. Yo tengo otra pregunta sobre los eventos de Botones y lo coloqué como tema de discusión en este mismo foro....tienes idea de cual seria la solución....????
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:40.