NachXs Blog

Programación, JavaSeptember 22, 2007 1:46 pm

Hace poco revisando algo de información y trabajando con aplicaciones GUI con NetBeans, me tope con una opción algo interesante. Resulta que podemos dar un formato (color, tamaño, tipo de letra, etc.) determinado a los textos de los botones (JButton), a las Etiquetas (JLabel), etc. insertando código HTML y así poder reducir algo de código en nuestras clases, dado que cuando le damos alguna propiedad a nuestros objetos siempre se genera código, pero esto una forma de evitar que la aplicación este algo pesada. Bueno sin mucho palabreo hacemos lo siguiente:
Primero creamos un nuevo proyecto y creamos un JFrame para el diseño de nuestro formulario.


Imagen1

Una vez creado nuestro GUI con sus etiquetas y botones, seleccionamos un botón y nos dirigimos a las propiedades, buscamos la propiedad “Text” y hacemos click en el boton punteado y nos mostrara un editor de la siguiente forma:

Imagen3

Como podrán darse cuenta, agregue un código HTML básico para darle un formato determinado al botón, una vez escrito el código le damos click en OK y listo nos quedaría de la siguiente forma:

Imagen4

Para este caso lo pinte de negrita y le di colo de texto azul, asi de esta forma podemos tener una aplicación bonita sin tanto código. Ojala les sea de utilidad.

Linux, Java, NoticiasSeptember 19, 2007 1:36 pm

Se ha liberado la version reciente de NetBeans, la 6.0 Beta 1, la cual presenta alguna novedades en las que destacan: La integracion con profiler, el cual en la version 5 .0 se tenia que instalar como plugins de igual forma la integracion de los templates para el desarrollo de aplicaciones web, el soporte para Ruby (compilador , debuger, etc) como opcion a desarrollo dentro de sus opciones de creacion de proyectos. Generacion de aplicaciones desktop basadas en Swing y Base de Datos. Soporte para la completacion y resaltado de codigo Java Script en el desarrollo de aplicaciones web, importar proyectos desde JavaCreator, y otras novedades mas.
Para facilitarle el trabajo, pueden acceder a la descargar desde aqui


NetBeans

Linux, Varios, PersonalSeptember 18, 2007 8:42 pm

La verdad que mucho se esta hablando de KDE 4 y francamente hoy en dia me parece mucho mejor escritorio que Gnome, yo siempre he usado Gnome, pero poco a poco me ha ido gustando menos ya que uno de los principales problemas que he tenido ha sido su integracion con algunas aplicaciones, problemas en la aplicacion de Temas, etc. En ese sentido KDE esta mejor pulido, Gnome a mi particular opinion su escritorio esta algo deteriorado y cada vez mas pesado, hace poco estube probrando KDE en mi Debian y la verdad sin vuelta que darle decidi utilizar este escritorio, quizas esto cambie definitavemente mi opcion y perspectiva a seguir desarrollando con mono y a optar siempre por python (mi lenguaje favorito) y java e ir aprendiendo poco a poco sobre QT.

KDE 4 GNOME 2.20
kde4 Gnome 2.20

Linux, Personal, NoticiasSeptember 17, 2007 7:40 pm

Un dia como hoy el 17-09-1991 es que Linus Torvalds, creador del kernel de Linux, libera la primera version en una exposicion en la Universidad de Helsinki. Es importate recordar esta fecha a todos los linuxeros.


linus5

Linux, Python, ProgramaciónSeptember 11, 2007 10:11 pm

Desde hace ya un tiempito que no desarrollaba algo con Pygame, y bueno decidi retomarlo y aprovechar algo de tiempo libre que me queda. Una pequeña aplicacion desarrollada como pasatiempo, PyMatrix, aplicacion al estilo Matrix (o algo parecido), a pedido de un familiar incredulo jeje, con esto queda claro la gran versatilidad que te brinda Pygame como libreria de desarrollo y sobre todo la facilidad de desarrollar sobre python. Aqui propongo el codigo y sujeto a cambios y/o mejora claro esta.


import random
import sys
import pygame
from pygame.locals import *
	
def genera_matrix(posx,posy):
    font = pygame.font.Font(None,20)
    cadena = "abcdefghijklmnopkrstuvwxyz1234567890!#$%&/()=?*[]_:;"
    posicion = []
    while 1:
        pygame.event.pump()
        keyinput = pygame.key.get_pressed()
        if keyinput[K_ESCAPE] or pygame.event.peek(QUIT):
            sys.exit(2)
        if posx not in posicion:
            car = random.randrange(len(cadena))
            green = random.randrange(50,75)
            text = font.render(cadena[car],1,(32,green,32))
            screen.blit(text,(posx,posy))
            if (posy >= 0 and posy <= SCREEN_HEIGHT):
                posy = posy + 12
	
            if posy >= SCREEN_HEIGHT:
                posicion = posicion + [posx]
                posx = random.randrange(SCREEN_WIDTH)
                posy = random.randrange(SCREEN_HEIGHT)
            screen.blit(text,(posx,posy))
            pygame.display.flip()
            pygame.time.wait(100)
        else:
            posx = random.randrange(SCREEN_WIDTH)
            posy = random.randrange(SCREEN_HEIGHT)
	
def genera_binario():
    font = pygame.font.Font(None,16)
    posx_ini = 0
    posy_ini = 0
	
    posx_fin = SCREEN_WIDTH
    posy_fin = SCREEN_HEIGHT
    cadena_binario = "01"
	
    while 1:
        car = random.randrange(len(cadena_binario))
        green = random.randrange(0,39)
        text = font.render(cadena_binario[car],1,(12,green,12))
        screen.blit(text,(posx_ini,posy_ini))
	
        if (posx_ini >= 0 and posx_ini <= posx_fin):
            posx_ini = posx_ini + 10
	
        else:
            posx_ini = 0
            posy_ini = posy_ini + 10
        if posx_ini == posx_fin and posy_ini == posy_fin:
            posx = random.randrange(SCREEN_WIDTH)
            posy = 0
            genera_matrix(posx,posy)
        pygame.display.flip()
	
def main():
    if not pygame.font:
        print "Desabilitado Tipo de Letras"
	
    else:
        pygame.font.init()
	
    global SCREEN_WIDTH, SCREEN_HEIGHT, screen
    SCREEN_WIDTH  = 640
    SCREEN_HEIGHT = 480
    pygame.init()
    screen = pygame.display.set_mode((SCREEN_WIDTH,SCREEN_HEIGHT))
    pygame.display.set_caption("PyMatrix")
    genera_binario()
	
if __name__=="__main__":
    main()
	

PyMatrix

Linux, Mono, JavaSeptember 8, 2007 12:52 am

Algune vez conversando con NeCuDeCo, respecto a utilizar librerias Java en Mono, me comento de una libreria que convierte los jar en exe, dll, etc. se llama ikvm el cual es una implementacion de Java para Mono, estube revisandola convirtiendo algunos jar y la verdad me parecio interesante y sobre todo para la aplicaciones que estan desarrolladas para trabajar en consola, cosa contraria pasa para las aplicaciones que usan el AWT o Swing hay mucha distorcion, pero el detalle es que solo tiene soporte para el JDK 1.4 (y todavia NO en su totalidad). Para mi caso quise migrar XMLtoPgSQL a Mono y ovbiamente me presento una advertencia el cual decia que la clase java.util.scanner no es soportada dado que Yo en una parte del codigo uso la clase Scanner y esta solo tiene soporte a partir del JDK 1.5 (5.0).

nachxs@kimera ~/ikvm-0.34.0.2/bin $ ikvmc -reference:IKVM.GNU.Classpath.dll XMLtoPgSQL.jar
 Note IKVMC0004: using main class “org.xmltosql.Main” based on jar manifest
 Note IKVMC0002: output file is “XMLtoPgSQL.exe”
 Warning IKVMC0100: class “java.util.Scanner” not found
nachxs@kimera ~/ikvm-0.34.0.2/bin $

Ahora solo me quedaria reemplazar la clase Scanner por InputStreamReader y BufferedReader para poder convertir la libreria.

Varios, Musica, NoticiasSeptember 6, 2007 4:08 pm

Creo que como cualquier persona en el mundo hemos quedado algo consternados por la perdida de uno de los mas grande tenores del mundo por no decir el mejor, Sr. Luciano Pavarotti, uno de los cantantes comtemporaneos mas famosos del mundo de la opera. En todo este tiempo de mi vida para ser honestos escuche muy poco este tipo de melodias, pero cada vez la escuche siempre estaba el nombre de Luciano como uno de sus mas grandes representantes de este genero. Solo nos queda decir “Descanse en Paz Luciano”.

Luciano Pavarotti

Linux, PostgreSQL, JavaSeptember 4, 2007 6:41 pm

XMLtoPgSQL, es una pequeña aplicacion que desarrolle sobre Java que consiste en analizar un archivo *.xml generado por DBDesigner a partir de un modelo de datos y llevarlo a un archivo *.sql definido para PostgreSQL. En un post anterior publique algo sobre este tema el cual consistia en realizar el mismo proceso, el cual lo estaba desarrollando sobre Mono y Glade, pero por el momento lo deje en Stand by, ahora lo retomare utilizando como base este pequeño algoritmo y hacerlo funcional.
Pues si lo desean, genere un archivo *.jar el cual lo podemos ejecutar de la siguiente manera:

$JAVA_HOME/java -jar [nombre_archivo.jar] [nombre_archivo.xml] [nombre_archivo_salida.sql]

Por el momento lo tengo en una fase inicial y estoy liando con la compatibilidad de algunos tipos datos, dado que DBDesigner te genera archivos orientado principalmente para MySQL por ende esta libre a cualquier critica o sugerencia que me sirva para mejorarla. No tengo todavia un servidor propio :P asi que lo tengo alojado por aqui
PD: Compilado con JDK 1.5 (5.0)

Linux, PostgreSQLSeptember 2, 2007 1:13 pm

Desde que decidi utilizar PostgreSQL como gestor de base de datos, me tome el trabajo de ir poco a poco migrando varias de mis pequeñas aplicaciones que las tenias desarrolladas utilizando como gestor a MySQL y bueno como entenderan se me presentaron algunos inconvenientes en la compatibilidad en los tipos de datos. Para eso realize una pequeña tablita en base ha informacion que estube revisando por la web, con los tipos de datos que podriamos utilizar en comparacion uno a otro.

TIPOS DE DATOS
MySQL PostgreSQL
bigint bigint
double, decimal, float numeric
int, mediumint integer
smallint, tinyint smallint
char character
varchar, enum, set character varying
longtext, mediumtext, text, tinytext text
tinyblob, blob, mediumblob, longblob bytea
datetime, timestamp timestamp
time, date, year date