Hello World Suse



Hace 4 dias que instale el OpenSuse 10.2 de Linux, todo debido a que tengo en planes una investigacion para la escuela, y eso conlleva la ocupacion de Suse, puesto que tratare de revisar el comportamiento de las aplicaciones java en este S.O.; lo que no esperaba de esta distro es cuan bonito puede quedar el entorno con tan solo unas cuantas busquedas en google, ya saben que los RPM que los tar.gz que el yast etc.

Gracias a ello ya tengo iconos al estilo Vista, tranparencias en las ventanas, fondos perzonalizados por escritorio, y Temas (para vestir a KDE con las mejores ropas ). Esto resulta atractivo para los usuarios principiantes en este sistema que ya estan aburridos de windows y desean probar y quedarse con otras cosas, por que Linux exige que sus usuarios esten capacitados o al menos interesados en aprender, cosa que Windows no exige en sus usuarios, quienes tarde que temprano tendran que saber mas cosas que un simple usuario ingenuo; pero en fin por gustos que no pare esto. ¿Y que de diferencia tiene esto?, simple y llanamente que es Linux.

Analizando codigo

Como medida para mejorar la documentación de los programas hechos en Java, he decido utilizar pequeñas aplicaciones para evaluar la cantidad de codigo/comentario por linea que realizó (Aunque de por si me cuesta documentar, pero ni modo); aunque hay muchas herramientas CASE para logar dicho cometido, una que encontre OpenSource en [1] fue Code Analizer, la cual permite determinar entre otros datos: la cantidad de espacios blancos, comentarios y codigo por linea que tiene nuesto codigo java,C++,HTML etc.


[1] http://sourceforge.net/project/showfiles.php?group_id=104236
  • Veasé tambien JUnit

Java Archives (JAR)

Que emolesto resulta cargar el montón de clases a la hora de ejecutar las aplicaciones Java en otro ordenador; bueno no es que sean tan grandes los archivos, más bien pueden llegar hacer varios, para estos casos (y para cuando se quiere aplicar un poco de abstraccion a los archivos jeje).

Bueno para ello existen los archivos JAR, que como lo dice Sun [1] las ventajas de su uso son:

  • Seguridad
  • Compresión: comprimidos con el formato de ZIP.Tipicamente
  • Portabilidad
  • Decrementa el tiempo en cargarse la aplicación
  • etc.
Para crear los archivos Jar (en Win) hay que abrir el MS-DOS y ejecutar:

Jar -?

Para ver la ayuda y todos los parametros que pueda llevar dependiendo de las necesidades, por ejemplo dentro de un archivo JAR se crea por default fichero de manifiesto:

META-INF/MANIFEST.MF

El cual contiene información como el nombre de la clase principal, quien lo crea,información de la versión, comentarios etc. Si se quisiera crear el JAR a partir de un MANIFEST.MF ya creado la sintaxis seria la siguiente (Notese que se incluiran todos los archivos class y png que encuentre en la carpeta default) :

jar cvfm Talkme.jar MANIFEST.MF *class *.png

para ejecutar la aplicacion empaquetada:

java -jar
Talkme.jar

Espero comentarios.
[1]http://java.sun.com/docs/books/tutorial/deployment/jar/

Ventanas de dialogo personalizadas en JAVA



La semana anterior estuve desarrollando una miniaplicacion que utiliza el congruencial mixto para determinar 100 numeros aleatorios en un rango 0.000-0.9999 con sus respectivos datos de entrada A,Xo,C,M.


La aplicacion como tal pues es de interfaz muy sencilla (Solo4 cajas de texto y de etiquetas), sin embargo me pregunte ¿Existira una forma de embellecer esta "pu..." aplicación?, alo que respondi que com imagenes, ¿pero cuales? a lo respondi nuevamente GNOME. Dejando un poco dealardear de lo que hice, les muestro el codigo para crear una ventana de dialogo personalizada:


JOptionPane.showMessageDialog(null,msg,"•Atencion",JOptionPane.WARNING_MESSAGE,new ImageIcon("info.png"));


De hecho he creado un metodo para llamar la contruccion de una ventana con solo pasarle el parametro de esta manera:


obj1.Messagebox("Anuncio");


Lo de messagebox es para no perderle la costumbre a otros lenguajes (Fox pro). La ventana generada pues ya la pudieron observar al inicio (Adivinen ¿Cual es la ventana ejecutada en Linux?). Espero sus comentarios y animó