blog de charlymex
JTable una hermosura
Ok... después de unos 4 años de estarme peleando con .NET (especíicamente con WPF) y de regresar a ver "que tanto había avanzado java" me reencuentro con jTable y me maravillo de lo bien que está estructurado.
Es cierto, tal vez no tiene una forma tan directa de poner un query de SQL directo como fuente de datos y que esta arme el dataset para mostrarlo, pero ESO es una aberración.
Si ustedes, como me imagino lo han hecho, han tenido la necesidad de reutilizar código y montarlo no sólo en diferentes programas o en diferentes accesos a datos y presentarlos habrán sentido, tenido o implorado por una programación modular por capas y que utilice completamente la independencia de datos entre la capa de presentación y la capa de obtención de resultado de datos (que prara fines prácticos llamaremos DAO).
PDFViewer
Pues efectivamente tendremos que hacer algunas implementaciones para lo del PDF, sin embargo la solución está decidida, trabajaremos con JPedal y la impresión se tendrá que implementar por completo en una forma posterior...
JPedal fue el componente que logró mostrar mejro los PDFs, no requirió de un engine nativo o de paga para los fonts y las imagenes las escala correctamente en el PDF...
La solución es implementada dentro de un JPanel al cual se le pasa el nombre del archivo y la página a desplegar, esta viene de acuerdo con la búsqueda realizada por el usuario de acuerdo a su tema, las palabras claves y demás factores que intervengan en la misma.
Swing... a bailar el swing a compas de "mostrar el PDF"
Pues como lo dije... ya estamos prácticamente terminando el proyecto... en mucho menos tiempo de lo pensado, pero (inches peros) resulta que nos topamos con un obstáculo mayor: NECESITAMOS UN RENDER PARA VER PDFs EN SWING...
las opciones que hemos visto son:
JPedal... La versión gratuita no imprime
Gnostice PDF One Pro No renderea imagenes (o al menos las del PDF que necesitamos poner)
Apache PDFBox Si renderea las imágenes, pero lo hace mal. Tiene problema mostrando fonts que no están dentro de la especificación simple de PDF, me dicen que embabieron los Fonts dentro del documento... tengo duda...
ICEPDF No maneja fonts que sean los no citados como font por omisión en la esp. de PDF (similar a PDFBox) y si se queire el Fon Engine cuesta una lana.
BFPDF Es de paga.
PDF viewer de Acrobat se hizo con Java 1.1.8 y el instalador se cuelga y nunca instala nada.
Por lo que me gustaría saber si alguien ha usado JPod, ya que no se encuentra documentación de lo que puede hacer o no hacer, como integrarlo hacia Swing y el único ejemplo que ponen en la web es el de un software en Alemán.
Al ataque de nuevo
Pues si... hoy formalmnete arranco un proyecto que implica retomar Swing, era cuestión de tiempo para que en mi trabajo se dieran cuenta que no se podría seguir con .NET por siempre y ahora hay que sacar las cosas adelante.
El requerimiento fue muy sencillo, la institución de gobierno (de la cual no dire el nombre hasta que nos lo hagan oficial todo) recibió de los abogados que una publicación electrónica fuera visible tanto en Mac como en PC. Adios .NET, además de que esto puede ser el inicio de que todos los libros electrónicos generados aca sean bajo la tecnología de Java.
Lo primero será montar un framework genérico para esos libros, de forma que sean consultables con facilidad, esto lo haremos con SQLite como Base de datos, Lucene como generador de consultas de texto y motores adicionales como Hibernate y Spring haciendo sus labores respectivas.
Yo en lo personal creo que es mejor iBatis (que ya cambió de nombre a myBatis) que Hibernate para estos casos en específico.
Así pues el día de hoy la labor es crear una prueba de concepto que nos traiga una tabla de SQLite a un JTable via un DAO instanciado por Spring y que traiga los datos desde Hibernate.
Mis intensiones y el futuro
Yo como muchos de los desarrolladores y usuarios de computadoras tenemos una serie de sentimientos difíciles de entender por el común de la gente, al fina de cuenta por eso somos una "bola de Nerds" :D.
Yo empecé a programar en 1983, cuando tenía escasos 12 años de edad y lo que existía para mocosos como yo era LOGo o BASIC, por lo cual recuerdo con grato cariño a la Timex Sinclair 1000 y a la Commodore 16 como mis primeras computadoras, desde ese momento decidí que mi carrera tendría que ver con esto.
Al entrar en mi carrera se oia en el "underground" (sobre todo en BitNet (si... no había internete todavía como lo conocemos hoy) sobre una cosa llamada programación a objetos, sobre otra llamada C++ pero habían dos lenguajes que eran usados casi por semidioses: SmallTalk e Eifel. De la misma manera pude comprar mi primera "PC" (una 286 con 1 MB en RAM y 40 MB de Disco duro), la cual tuve que cambiar por que salio un Sistema Operativo que me "enamoró" y que si pudiera lo seguiría usando: OS/2 (en aquel momento 2.11 y luego vinieron los Warps 3 y 4 y hoy en Dia el eComStation).