Java - Swing

 
Vista:

Swing

Publicado por ALdo (11 intervenciones) el 27/05/2009 07:09:10
Hola a todos disculpen tengo problemas en swing.
Bueno la consulta es como hacer en swing que se mantenga los valores salidos en una venta al pasar a otra ventana y volver a la misma; es decir tengo esta ventana:

ElaborarPedido que tiene los sigiuientes componentes: JTextField,JTable Jlabel , etc y tiene datos esos componentes, entonces al pasar a otra ventana y hacer algo y luego al retornar a ElaborarPedido quiero mostrar el contenido que tenia en sus compnetes. Intente serializar el JFrame pero me sale la excepcion de ClassCastException.

Ojaa puedan ayudarme saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Swing

Publicado por Mario (40 intervenciones) el 27/05/2009 09:39:01
Bueno, se me ocurren dos opciones, aunque la primera no sé si te funcionará, pero creo que debería hacerlo.
La primera sería declarar el JTextField,JTable Jlabel , etc como static, solamente eso. Prueba a ver si te mantiene los datos.

Y si no te funcionase eso... yo me crearía una clase llamada... ValoresPersistentes x ejemplo.

Esa clase tendrá todos los valores que quieres mantener declarados como estáticos.
Cada vez que cambie el valor de esos componentes tendrías que guardarlo tb en esa clase, y cada vez que quisieras volver a cargar dicha ventana tendrías que leer los datos de esa clase, que al tener los campos static debería mantener los valores.

Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Swing

Publicado por rasof (35 intervenciones) el 27/05/2009 11:44:40
yo te propongo otra opcion que seria mandar esos datos en el constructor del segundo frame.

seria crear un constructor pasandole los datos de dentro de los text fields.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Swing

Publicado por ALdo (11 intervenciones) el 27/05/2009 18:48:32
Gracias por sus respuestas; y si funciona la segunda opcion mario gracias; pero es mucho codigo para agregar y si hay muchos componentes que pasar; bueno me preguntaba si hay otra opcion; es decir como la serializacion de objetos, intente serializar mi clase haciendo esto:
mi clase es ago asi

public class Elaborar extends JFrame implements Serializable
{
//comoponentes
JButton....
JLabel...
JTable....
JScrollPanel...
JTextField....
JTextField..
JTextField..
JTextField...
JTable....
JScrollPanel...

//constructor
.....

//metodos.
......
}
y hago lo siguiente, teniendo dos dudas:
//primero obtengo el objeto en que estoy para serializarlo y esta es mi primera uda
//es correcto esto

Elaborar el=(Elaborar )this.getClass(); //obtengo el objeto de la clase en la que estoy?

//paso a serializar el objeto con los componentes llenados
//Ahora la otra duda si esta bien el primer paso
//Al serializar esta clase, guarda los valores de los componentes creados(jlabel,etc..) //tambien?

FileOutputStream arch=new FileOutputStream ("archivo.es");
OutputStream ob=new OutputStream(arch) ;
ob.writeObject(el); //lo guardo en memoria

//Asi en la otra clase JFrame cuando quiero retornar a mi clase Elaborar
//Solo obtengo el objeto que esta serializado

FileInputStream arch=new FileInputStream ("archivo.es");
InputStream ob=new InputStream (arch) ;
Elaborar el=(Elaborar )ob.readObject();

Eso hice y me sale error, que hago mal

Gracias por sus respuestas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar