[TADP] Problema utilizando Bindings

7 views
Skip to first unread message

Sebastian Celestino

unread,
Feb 5, 2008, 12:11:49 PM2/5/08
to TecnicasAvanzad...@gruposyahoo.com.ar

La respuesta pareceria ser bastante trivial pero por alguna razon no me funciona, o me gustaria saber si se puede hacer algo como lo que pretendo.

Tengo un JPanel con un formulario al que le seteo una entidad X y necesito que magicamente se muestren los datos (mismo si edito el formulario, quiero poder pedirle la entidad actualizada). Una forma sencilla era llenando todo de setter y getter en la entrada y la salida del objeto pero me parecia una solucion medio fea.

Me puse a investigar Bindings y encontre que puedo relacionar atributos de la entidad con campos de la pantalla. Mi problema radica en que por mas que modifique la variable que guarda el objeto, es como que los jtextfield a los que bindee (se escribe asi? :P ) jamas se enteran (a pesar de que el setter si se ejecuta).

Por un momento pense que un objeto mio cualquiera no podia disparar el evento que se encargue de actualizar las cosas, pero mediante una prueba me di cuenta que esto no es tan asi. Si relaciono dos jtextfield con un mismo objeto, al escribir en uno, automaticamente aparecen las letras en el otro.

No quiero hacerla mas larga pero tiro algo de codigo para que se entienda mejor... esto por alguna razon X (y me parece lo mas razonable) anda:

Property text = ELProperty.create("${text}");
Property nombre = ELProperty.create("${nombre}");
       
Bindings.createAutoBinding(UpdateStrategy.READ_WRITE, objeto, nombre, jTextField1, text).bind();
Bindings.createAutoBinding(UpdateStrategy.READ_WRITE, objeto, nombre, jTextField2, text).bind();


Mientras que llamando al setElement(Object o) del panel no anda, aca va el constructor del panel.

Property text = ELProperty.create("${text}");
Property nombre = ELProperty.create("${nombre}");

Bindings.createAutoBinding(UpdateStrategy.READ_WRITE, objeto, nombre, jTextField1, text).bind();


Si modifico el objeto mediante otro binding (como el caso anterior) tampoco anda (setea el objeto internamente pero los textfield ni se enteran).

Desde ya gracias, si hay algun lugar decente del que sacar info de esta libreria estaria barbaro (en la web oficial no hay tanto como me gustaria) porque los ejemplos que encontre son bastante simples y escasos.

--
And god said, "Let there be light," and a ClassNotFoundException(Light) was thrown.

__._,_.___
Para desuscribirse enive un email a:
TecnicasAvanzadasDePr...@gruposyahoo.com.ar

Y! Respuestas

Pregunt?/a>

Gente real te

responde

Yahoo! Messenger

Mensajero perfecto

Llam?de PC a PC

sin costo alguno

Barra Yahoo!

Todo a un toque

Acceso rápido a

servicios Yahoo!

.

__,_._,___
Reply all
Reply to author
Forward
0 new messages