Problema de interacion entre una clase Interfaz y la clase que la llama

Iniciado por yeah69, 20 Mayo 2010, 18:43 PM

0 Miembros y 3 Visitantes están viendo este tema.

yeah69

Hola!!, tengo un problema con la estructura de un programa que estoy creando, a ver si por favor me podeis hechar una mano:

Digamos que quiero crear una interfaz que interactue con el usuario, es decir irle pidiendo datos y que el usuario vaya metiendo unos y otros, y según va dando a siguiente se crea una nueva ventana y se elimina la anterior. Pero estaría dentro de un programa.

Vale aquí viene el problema:

Yo desde una clase llamo a la clase que crea que diseña la ventana e interactua con el usuario.

desde la clase:   Ventana window = new Ventana();
                         seguidamente la agrego al JFrame del programa
entonces justo despues espero un dato, para ello había puesto un metodo getDato()
sería variable tal = window.getDato();

Esta variable sale de los listener que tiene la clase Ventana, porque es la que interactua con el usuario...

Entonces que pasa? que aparece por ventana pero digamos que el foco retorna a la clase una vez que hace el constructor de Ventana y entonces cuando realiza window.geDato() no espera a que el usuario meta nada por pantalla, lo toma como null o como "" y sigue ejecutandose el metodo de la clase que llama a ventana hasta el final... y yo necesito estar interactuando desde la clase con la ventana.

Entonces por eso es por lo que lo he estructurado mal y pido ayuda, porque no conozco muy bien la clase JSwing y a la hora de establecer comunicaciones con el usuario pues veo que tengo problemas....
Haber si alguien me puede aconsejar o ponerme un ejemplo de como sería....
muchisimas gracias!!!! ;D

Si quereis que ponga capturas de como lo tengo programado decidmelo  ;)

yeah69

Vale, he visto que necesito usar un Wizard, que debe de ser una herramienta que te permite ir pasando de ventana en ventana. Si alguien me puede pasar algún ejemplo o me explica algo me vendría muy bien (ya estoy mirando yo algo por internet pero no lo veo muy claro).
Gracias!!

we4rt

Hola pura vida!!!

Por que no creas un objeto o objetos para guardar los dato que el usuario esta escribiendo o selecciona y luego cuando vas a llamar a otra ventana le pasas por parámetro ese objeto o objetos para que todas las ventanas tengan el mismo objeto y así poder manejar los datos?

yeah69

Ok, gracias ;D ;D, pero aún tengo un problema, como puedo cerrar los JPanel? no hay ninguna manera de que en un JButton pueda meter alguna accion para cerrarlos? porque no es plan que se queden todas las ventanas abiertas.
gracias!!!

we4rt

Si lo que queres es ocultar los paneles puede usar el método setVisible y le pasa por parámetro
Código ( java) [Seleccionar]
false.