elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Colocar Cuadro de Dialogo en cima de JDialog
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Colocar Cuadro de Dialogo en cima de JDialog  (Leído 6,185 veces)
soy_nicanor

Desconectado Desconectado

Mensajes: 88


Ver Perfil
Colocar Cuadro de Dialogo en cima de JDialog
« en: 19 Febrero 2015, 03:15 am »

Le llamo cuadro de dialogo desde JDialog por un boton.

Llamo con el siguiente de código:

Código
  1. private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  2.        jDialog1.setMinimumSize(new Dimension (600, 300));
  3.        jDialog1.setLocationRelativeTo(this);
  4.        jDialog1.setVisible(true);
  5.        jDialog1.setModal(true);        
  6.    }  
  7.  
  8.  

El problema es que el cuadro de dialogo se ubica en atrás de JDialog.


 


En línea

3n31ch


Desconectado Desconectado

Mensajes: 445


Grandes conocimientos engendran grandes dudas


Ver Perfil
Re: Colocar Cuadro de Dialogo en cima de JDialog
« Respuesta #1 en: 19 Febrero 2015, 03:52 am »

Esto de utilizar el diseño de Netbeans... no me gusta nada.  :xD

Solo quieres que el JDialog este en frente del anterior no?

Código
  1. this.jDialog1.setAlwaysOnTop(true);

Con debería ser suficiente.

Pero seguramente tengas otro problema, porque a mi me huele que el JDialog que creas desde el otro JDialog estará bloqueado hasta cerrar el primero.

(Tengo entendió que llamar un JDialog de otro JDialog era una mala practica, pero no estoy seguro)

Suerte y dime si te funciona.


En línea

soy_nicanor

Desconectado Desconectado

Mensajes: 88


Ver Perfil
Re: Colocar Cuadro de Dialogo en cima de JDialog
« Respuesta #2 en: 19 Febrero 2015, 23:03 pm »

Gracias Nac-ho
Si me pone delante de JDialog pero me tiene bloqueado, No puedo manipular el cuadro de dialogo, mucho menos me permite cerrar


« Última modificación: 19 Febrero 2015, 23:35 pm por soy_nicanor » En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: Colocar Cuadro de Dialogo en cima de JDialog
« Respuesta #3 en: 20 Febrero 2015, 00:17 am »

Hola,

El propósito de un JDialog es el ser una ventana auxiliar, que permita añadir comportamiento a una ventana base. Es una buena práctica que una ventana de diálogo bloquee el elemento padre, es lo normal. Si decimos que un JDialog tiene un padre es que depende de él. Si decides abrir un JDialog es porque obligatoriamente necesitas hacer X cosas antes de continuar trabajando con el padre.

Una aplicación swing, como norma general debe contener un solo JFrame y las demás ventanas deben ser JDialog. Por ejemplo, si muestras un anuncio cuando se está registrando una venta, lo normal es que ese anuncio bloquee el elemento padre, una vez que se cierra el anuncio se puede proseguir con la venta.

Para colocarle un padre a un JDialog:

Código
  1. JDialog dialog = new JDialog(frame);

He puesto de padre a un JFrame pero también puede ser otro JDialog.
En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
3n31ch


Desconectado Desconectado

Mensajes: 445


Grandes conocimientos engendran grandes dudas


Ver Perfil
Re: Colocar Cuadro de Dialogo en cima de JDialog
« Respuesta #4 en: 20 Febrero 2015, 02:45 am »

Pero seguramente tengas otro problema, porque a mi me huele que el JDialog que creas desde el otro JDialog estará bloqueado hasta cerrar el primero.

:O Vi el futuro!, soy  todo un adivino.

Pues si, mira yo te explicare el problema: USAS EL DISEÑO DE NETBEANS.

Primero al juzgar el porque no pudiste encontrar el problema apenas se presento me da a entender que realmente no entiendes como funciona siwng ni awt. Normal... seguramente aprendiste a hacer esto utilizando netbeans. No lo digo de mala manera, pero en serio recomiendo, al aprender NUNCA usar estas herramientas, luego cuando estés trabajando y tengas poco tiempo para hacer cosas las puedes usar (Aun asi no las recomiendo, crean mucho código inmantenible)

La anterior respuesta vino con truco, ya sabia que eso te pasaría apenas lei tu pregunta básicamente esto te paso porque tu nuevo JDialog no tiene como parent el JDialog anterior (tal como dijo Gus).

Quita lo que te pase anteriormente para poner el JDialog en frente y solucionalo de esta manera:

(Tuve que darme vuelta por la plataforma para saber como hacerlo .)

En la vista de diseño selecciona el JDialog que agregaste (en el navegador de componentes agregados veras una carpeta que dice Otros componentes, ahí esta tu JDialog).

Una vez seleccionado, en la ventana de propiedades del elemento ve a la pestaña code, y posterior a esto modifica en donde dice Custom Creation Code  (Personalizar codigo de creacion, realmente no se como se llame en netbeans español). En la ventana que se te abrirá pon lo siguiente:

Código
  1. new javax.swing.JDialog(this);

De esta manera pasaras el JDialog padre como parent del Nuevo JDialog, y se hara lo que necesitas.

Otra forma de hacerlo (seria un poco menos optima)

Seria que modifiques tu evento del boton y hagas lo siguiente:

Código
  1. private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
  2.        jDialog1 = new javax.swing.JDialog(this);                                      
  3.        jDialog1.setMinimumSize(new Dimension (600, 300));
  4.        jDialog1.setLocationRelativeTo(this);
  5.        jDialog1.setVisible(true);
  6.        jDialog1.setModal(true);
  7. }        
  8.  

Saludos. Cualquier duda preguntas.  :P
« Última modificación: 20 Febrero 2015, 02:51 am por Nac-ho » En línea

soy_nicanor

Desconectado Desconectado

Mensajes: 88


Ver Perfil
Re: Colocar Cuadro de Dialogo en cima de JDialog
« Respuesta #5 en: 20 Febrero 2015, 03:47 am »

Muy agradecido, Me han despejado muchas cosas, Gracias.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines