Duda java

KaBeZiLLa

Hola, estoy haciendo un entorno grafico en java, el caso es que a partir de un formulario quiero abrir otro. Pero una vez abierto el segundo no quiero que se puede devolver el foco al primero hasta que este segundo no haya sido cerrado.

¿Alguien sabe como hacer esto?

gracias

AlKhwarizmi

Como no lo aclaras, imagino que estarás utilizando AWT o Swing® para hacer los ventanurrios, ya que son las tecnologías más populares.

En ese caso lo que tienes que hacer es decirle al constructor del Dialog o del JDialog que uses para el segundo formulario que quieres que tu diálogo sea "modal", y además decirle cuál es el diálogo o ventana padre. Por ejemplo:

Dialog d = new Dialog(miVentanuco, "Blablabla", true);

El parámetro booleano del final es lo que hace que el diálogo mantenga el foco mientras no se cierre. Pero es importante rellenar bien también el primer parámetro (el padre). Si pones null, o una ventana que no sea realmente la que genera el diálogo nuevo, creo recordar que la cosa no funcionaba bien.

KaBeZiLLa

bueno, no se lo que estoy utilizando (soy un poco noob en java). Igual te ayuda si te digo que lo estoy haciendo utilizando NetBeans.

Mirare lo que me has dicho a ver si encuentro algo.

Efernand

¿Has probado de jugar con la función setFocus() después de realizar el "envio" de los datos del formulario...o el cerrado del mismo?

Ahora hace un tiempo que no toco swing y no sabria darte una respuesta mas exacta, a ver si cuando llegue a casa puedo mirártelo,

Josepanaero

Tienes q hacer lo q te ha dicho #2

Imagina q tienes un formulario principal formPrincipal y desde él quieres crear un nuevo formulario formSecundario. La forma de crearlo sería la siguiente:

JFrame formSecundario = new JFrame(this, true);

Este código debe ir dentro de formPrincipal, en la parte en la q quieras crear el formulario secundario.

El this tb lo puedes sustituir por formPrincipal. Lo que indica este parámetro es q formSecundario es creado desde formPrincipal.

El true indica q es modal, o sea, q no puedes acceder al formulario desde el q se creó (en este caso formPrincipal) hasta que no cierres, ocultes, etc. el formSecundario.

Suerte!

KaBeZiLLa

muchisimas gracias a todos por colaborar, esta tarde lo pruebo a ver si va bien la cosa.

Gracias!

Usuarios habituales

  • KaBeZiLLa
  • Josepanaero
  • Efernand
  • AlKhwarizmi