PDA

Ver la Versión Completa : Recomendaciones/col. de clases-Objetos mejorados/frameworks o simplemente ilusiones


MLROJO
17-09-2013, 23:04:54
Hola,

Bueno, sinceramente no se que pretendo o quiero llegar a pretender con este post, si intentar encontrar una solución, resignarme y adaptarme (joderme) a los cambios, o simplemente descargar toda mi frustración/amor/odio/etc...sobre java contándolo a todos vosotros y a la vez intentar ser comprendido... ahí va...

Llevo varios años trabajando en una empresa de desarrollo de Software, la cual hace relativamente poco tiempo a migrado uno de sus productos a Java.

Aunque por curiosear ya había trabajado con Java, siempre lo había terminado abandonando... ¿Por qué? mi contacto con Java hasta el momento de tenerlo que utilizar profesionalmente se había reducido a aplicaciones personales las cuales me ayudasen en mi día a día, relativamente simples pero prácticas, en constante cambio en numerosas ocasiones. Con Java, no conseguía la rapidez diseñándolas/programandolas que me gustaría y tampoco tenia necesidad de que fueran aplicaciones que tuviesen especificaciones concretas que no pudiese cubrir con Delphi.

Pero bueno a pesar de que Delphi me encanta respecto a la simplicidad de transformar lo complicado en simple, nunca está de mas estar familiarizado con varios lenguajes, por lo menos, lo suficiente como para poder obtener por uno mismo un juicio algo objetivo de las ventajas e inconvenientes de unos y otros. Por tanto, decidí intentar reproducir en Java mis programas mas frecuentes desarrollados en Delphi, incluso mejorarlos si es posible. Tengo que decir... que para conseguir "lo mismo que tenia", me ha costado y mucho...

No obstante, a partir de todas estas migraciones me han surgido dudas que de una u otra forma he conseguido resolver, pero creo que en muchos casos son resoluciones "chapuceras" que me han costado lineas y lineas de código que estoy seguro que la gente ha podido solucionar sin picar tanto código (o quiero entender que es así....), pongo algunos ejemplos:

- Anteriormente en Delphi, tenía mi DataModule, con mi Conection,Tables,DataSources y con 5 componentes no visuales y en un Form 2 visuales y no mas allá de 5 minutos conseguía establecer:
* Conexión con la base de datos
* Acceso al contenido de una tabla
* Mostrar el contenido de esa tabla
* Hacer un maestro/detalle con otra tabla
* Mostrar el contenido especifico del detalle en función del registro especificado en el maestro

Luego todo era darle forma... incluso en varios minutos mas, establecía las dimensiones de cada campo en el componente donde los visualizara, por ejemplo en un Grid, etc..

Este mismo ejemplo en Java....
Defino mi Conection, resultset, los modelos (defaultablemodel... o el que sea...), los jTable, jTree... hasta aquí podría considerar como aceptable, pero en el momento de darle funcionalidad.... se me va la ilusión:
- ¿Como hacer un simple maestro/detalle de forma fácil?
- ¿Como mostrar los datos de forma fácil?
- ¿Cómo posicionarme en cada registro del Grid o Tree y que sepa que estoy sobre él (y por tanto que tiene que mostrar su detalle) si no tengo las claves pintadas en el tree (por ejemplo)?

Ya se que son lenguajes muy diferentes y mas si cabe en el diseño gráfico de los mismos (interfaz de Delphi vs interfaz de Windowsbuilder para eclipse... por ejemplo). ¿Pero no existen frameworks, VCLs, "clases extendidas/mejoradas", APIS o como se quieran llamar que faciliten cosas tan simples como esta? Estoy seguro de que si... pero con tantísima información como existe en Internet sobre Java ¿Como es tan difícil encontrar estas clases? ¿Nadie mas se ha encontrado en esa situación nunca? No me lo creo.... pero el resultado es que si busco cualquier ejemplo en google "como pasar los datos de una tabla a un jtree" encuentro miles de ejemplos donde se guardan los registros en un array y luego se visualizan en el jtree mediante un modelo (DefaultMutableTreeNode), donde para implementar la funcionalidad maestro/detalle es un horror y por supuesto una chapuza (para mi gusto)...

Bueno, como han podido leer aquellos que hayan aguantado este tostón de post, creo que no busco nada raro (si vienes de un lenguaje como delphi), ni nada concreto (con unos TDataSources, unos TTables y unos TGrids me conformo!! :p), que seguro que existen, pero no se encontrar. O unas simples recomendaciones, pautas, consejos, o indicaciones de si lo que busco es fruto de un sueño frustrado o de una realidad escondida en mi gran ignorancia.

T.D.: He oído hablar y he leído acerca de diferentes frameworks como Hibernate, que no se si mas o menos se asemejan a lo que yo busco <creo que no> y en caso de ser así, no se si son demasiado "grandes" para una aplicación que pueda tener 4 tablas....

Muchas gracias,

Saludos.

mcs
19-09-2013, 00:54:35
Hola,

Cómo programador Delphi que soy, y ex-programador Java Swing, te diré que vas por el mal camino.

Si quieres programar en Swing, debes "olvidar" la forma de trabajar de Delphi y la VCL y aprender no sólo las clases y funcionamiento de Swing, sinó que también la filosofia.

Para tu caso en concreto, el del JTree, lo que debes hacer es crear un modelo que lea los datos de la base de datos (en tiempo real, nada de cargarlos primero en un array y luego mostrarlos), e irlos entregando. Y si no recuerdo mal (hace más de 8 años que no uso un JTree), el mismo modelo podía servir para un JTable...

Pero insisto, cuando uses Delphi olvídate que conoces Java, y cuando uses Java olvídate que conoces Delphi. De la otra forma acabarás frustrado, porqué en algunas cosas Java es muy superior y en otras cosas lo es el Delphi.