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

Problemas JFrame, JDialog

Estas en el tema de Problemas JFrame, JDialog en el foro de Java en Foros del Web. Mi problema es el siguiente. Tengo dos ficheros java, uno hereda de JFrame y otro de JDialog. Instancio el frame y luego creo un dialogo ...
  #1 (permalink)  
Antiguo 25/11/2007, 06:06
 
Fecha de Ingreso: noviembre-2007
Mensajes: 4
Antigüedad: 16 años, 5 meses
Puntos: 0
Problemas JFrame, JDialog

Mi problema es el siguiente. Tengo dos ficheros java, uno hereda de JFrame y otro de JDialog.

Instancio el frame y luego creo un dialogo modal hijo del frame. El problema es que en bastantes ocasiones el frame se superpone al dialogo. No puedes tocar el frame ya que esta esperando que cierres el dialogo pero este no se ha dibujado, aunque se mantiene, ya que si de memoria apreto donde estaría el botón para cerrar, devuelve la ejecución al frame.

Saludos
  #2 (permalink)  
Antiguo 25/11/2007, 06:36
 
Fecha de Ingreso: septiembre-2007
Mensajes: 173
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Problemas JFrame, JDialog

Añádelo justo antes de la instrucción frame.setVisible(true);

Saludos.
  #3 (permalink)  
Antiguo 25/11/2007, 08:31
 
Fecha de Ingreso: noviembre-2007
Mensajes: 4
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Problemas JFrame, JDialog

Evidentemente había usado setVisitble(true) para ambas instancias, poner el setVisible antes de instanciar el dialogo o despues no parece influir.

Cuando se inicia, el dialogo no aparece (aunque esta) y debo minimizar y pulsar la aplicación minimizada para que aparezca el dialogo.

Codigo

public class Interfaz extends javax.swing.JFrame
{
public Interfaz()
{
initComponents();

setVisible(true);

consejos con = new consejos(this);
}
...

public class consejos extends javax.swing.JDialog
{
public consejos(Interfaz padre)
{
super (padre, true);
initComponents();

setVisible(true);
}
...
  #4 (permalink)  
Antiguo 25/11/2007, 10:33
 
Fecha de Ingreso: septiembre-2007
Mensajes: 173
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Problemas JFrame, JDialog

Ah, claro, es que tienes dos clases distintas, no te había entendido.

El problema quizás esté en que debes ver cual de las dos llega antes a la instrucción SetVisible, en el caso de que seas multihilo, en el caso de que funcionen sobre el mismo hilo, tendrás que llegar primero a la instrucción SetVisible de la clase del JDialog.

Si no te sirve, vuelve a enviar un mensaje, a ver si lo solucionamos.

Saludos.
  #5 (permalink)  
Antiguo 25/11/2007, 11:58
 
Fecha de Ingreso: noviembre-2007
Mensajes: 4
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Problemas JFrame, JDialog

He descubierto el origen del problema pero me gustaría entender porque, ya que trabajo mucho con JAVA y no me puedo permitirme el lujo de que me pasen cosas porque si.

Tenía la sensación de que podía ser porque fuera multihilo pero que yo supiese no lo había puesto. Así que me fije en la única parte del código que no hice yo, que me venía hecha al darle a crear nueva clase con el Netbeans.

java.awt.EventQueue.invokeLater(new Runnable() {
public void run()
{
Temporada temp = new Temporada("Ajax","Hugo",6,1);
new Interfaz(temp);
}
});

Lo cambie por sólo

Temporada temp = new Temporada("Ajax","Hugo",6,1);
new Interfaz(temp);

Yo pensaba que no había diferencias entre una y otra...
  #6 (permalink)  
Antiguo 25/11/2007, 12:04
 
Fecha de Ingreso: septiembre-2007
Mensajes: 173
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Problemas JFrame, JDialog

La diferencia antes, es que para ejecutar esa parte del código, tendrías que llamar al método run() en algún lado, y ahora no es necesario...

El por qué te fallaba, no tengo ni pajolera idea. la verdad...
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 03:39.