Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/02/2014, 22:05
TrucosJuan
 
Fecha de Ingreso: noviembre-2006
Mensajes: 166
Antigüedad: 18 años
Puntos: 6
Comunicar ventanas (pasar objetos de un JDialog a un JFrame)

Explicaré un poco sobre las clases que he creado y luego preguntaré.
Las clases Origen y Destino tienen sólo 2 atributos, ambas incluyen un String nombre y un int (la diferencia es que Origen presenta oferta y Destino presenta un atributo llamado demanda).

Un JFrame principal pregunta cuántos orígenes y destinos existen en el problema (el programa al final debería poder resolver problemas de transporte). Y entonces, debe leer cada origen y cada destino. Pero como presentan 2 datos, no es muy conveniente usar showInputDialog (de JOptionPane) porque podría confundir al usuario al momento de ingresar datos.

Entonces he creado una ventana que sólo se encargue de leer tales datos y los envíe de vuelta al JFrame principal. En un inicio era otro JFrame, pero luego he leído que es conveniente usar JDialog en estos casos, pues así puede hacerse modal y no ocupar espacio en la barra de tareas.

Como esta clase que hereda de JDialog puede leer tanto Origen como Destino, lo he creado como clase genérica, para que reciba un tipo <T>. Pero, al final no sé cómo crear el objeto que debe ser devuelto. Es decir, ¿es posible crear una instancia de T? Porque supuestamente la clase no puede predecir qué clase recibirá como parámetro.

Específicamente me refiero a este método que he escrito, pero que me aparece resaltado con errores:
Código:
    public T getValorCreado() {
        valorCreado = new T(campo1.getText(), Integer.parseInt(campo2.getText()));
    }
Desde el JFrame principal planeo crear la instancia del JDialog y luego usar un método para recibir el objeto que se creó con los datos leídos.

Gracias de antemano y espero por favor que me puedan ayudar.

Última edición por TrucosJuan; 06/02/2014 a las 22:06 Razón: Olvidé agradecer :S