31 agosto 2005

Using HTML in Swing Components

En los JLabel, JButton y demás se puede poner una etiqueta normal de texto o bien código html.

El siguiente ejemplo:

import javax.swing.*;

public class prueba
{
public static void main(String[] args)
{
JFrame ventana=new JFrame();
JButton boton = new JButton ("<html>a<br>b/<html>");
ventana.getContentPane().add(boton);
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ventana.pack();
ventana.setVisible(true);
}
}

pinta una ventana con un botón con dos lineas de texto.

Hay un pequeño tutorial de esto aquí:

Using HTML in Swing Components

GMail API For Java (g4j)

Cortesía, nuevamente, de un compañero de trabajo, aquí hay un paquete de java que permite conectarse a gmail para ver el correo y demás.

http://g4j.sourceforge.net/

No lo he probado y no sé muy bien para qué puede servir (salvo para hacerse un cliente especifico de correo para gmail, que ya viene con la aplicación), pero bueno, no deja de ser una cosa curiosa.

Basándose en esta api, hay un plug-in para eclipse que permite desde eclipse ver el correo de gmail. Dice además que usa el puerto 80, con lo que podemos saltar cortafuegos que nos limiten los puertos. Yo por ejemplo, desde mi Thunderbird no puedo ver en el trabajo el correo de gmail porque gmail usa un puerto no standard y el cortafuegos de la empresa no me deja abrir esta dirección.

Administración de Sistemas Operativos

Echando un ojo en google me he encontrado un tutorial sobre socket, rpc.

Me ha gustado ver que han utilizado los tutoriales de mi página como referencia. Los han mejorado añadiendo figuras, eliminando mucha paja y algunos datos de interés más.

Se les puede echar un ojo para ver otra versión más seria y algo más completa de los que puse un día en mi página.

También tienen un tutorial sobre rmi, pero ese no parece tener mucho que ver con el que hice yo.

29 agosto 2005

Ficheros de inicio de unix

En un foro encontré un link bastante interesante:

http://www.cs.sonoma.edu/~rmamer/shells_and_init_files.html

En él está los ficheros de inicio que utilizan los distintos unix. Son los ficheros en los que debemos poner las variables de entorno que nos interesen, en función de si queremos que afecten a todos los usuario, sólo a un usuario etc.

Aparecen ksh de solaris, csh de solaris, bsh de solaris, tcsh de solaris, ksh de linux, csh de linux, bash de linux y tcsh de linux.

Básicamente se ejecuta un fichero en /etc/ que es el que afecta a todos los usuarios. Según la shell que sea, puede ser profile, .login, chs.cshrc o csh.login. Luego se ejecuta uno en el HOME del usuario y sólo le afecta a él. Según la shell que sea, puede ser .profile, .cshrc, .login, .bash_profile, .bashrc, etc.

En el link mencionado tienes una lista completa.

23 agosto 2005

http://www.java-source.net/

Un compañero de trabajo me ha mandado esta página: http://www.java-source.net/

En ella hay un montón de programas java gratuitos bastante interesantes.

Aparecen varios IDE de java, como eclipse y netbeans además de otros (JEdit, BlueJ, etc, etc). Hay servidores de chat, de foros, clientes de bases de datos, etc, etc, etc.

En fin, una página interesante de consultar cuando necesitemos algún programa gratis.

20 agosto 2005

Internacionalización de java

En http://www.programacion.com/java/tutorial/i18n/ hay un tutorial sobre la internacionalizacion de java que tiene buena pinta.

El problema básico de la internacionalización consiste en conseguir que nuestro programa muestre los textos en español, en inglés, en frances, etc en función de quién los esté leyendo. Esto también incluye el presentar los números con coma decimal o punto, unidades monetarias, etc, etc.

Si mostramos los textos directamente en código, para cambiar de idioma deberíamos rehacer y recompilar el código. Esto, por supuesto, es bastante engorroso.

La solución que propone java es escribir todos esos textos en un fichero de propiedades, es decir, un fichero de texto que contiene algo parecido a esto para español

saludo=hola
despedida=adios

o a esto en inglés

saludo=hello
despedida=bye

El programa java debe leer el fichero adecuado según el idioma y mostrar los textos que en él se indican, el de saludo y el de despedida en este caso.

Java, con sus clases ResourceBundle y asociadas facilita todas estas tareas, de forma que el ficheor de propiedades adecuado se puede cargar automáticamente en función del idioma elegido para el sistema operativo (windows o el que sea) y se muestran automáticamente los textos en dicho idioma.

12 agosto 2005

Ocultar IP

Un problema que me han planteado es el de ocultar la ip mientras navegamos, de forma que podamos engañar a esas páginas que recogen estadísticas de las ip que las visitan.

En http://www.comodescargar.com/trucospc/ocultar-ip-manual.html hay un pequeño manual que indica varias posibilidades.

Básicamente ha visto que consiste en navegar usando un proxy, de forma que en la página web que visitamos se ve la dirección ip del proxy y no la nuestra. En internet existen proxy gratuitos con los que nos podemos enchufar (por ejemplo, 212.7.14.177 en el puerto 80, que es una dirección de Estonia).

El programa "Hide ip Platinum" lo que hace es precisamente eso, configurar nuestro navegador (internet explorer) para que use un proxy. Incluso cambia de proxy a petición, de forma que en varias visitas sucesivas podriamos aparentar ser ip disitintas. De todas formas, me he descargado el programa y he tenido problemas al navegar con algunas de los proxy que me ponía. Supongo que eso no es culpa del programa, sino de la disponibilidad del proxy en cuestión.

También he probado a desinstalar el programa "hide ip platinum" y configurar el navegador a mano con uno de los proxys y funciona también.

10 agosto 2005

Cargar imagen de un jar

En http://www.javahispano.org/faq.thread.action?forum=108&thread=1969990118&id=1969990118 hay una contestación en un foro sobre como cargar una imagen de un fichero jar desde un programa java.

Por supuesto, tal cual esta vale si imagen.gif esta en el "directorio raiz" del jar, es decir, si no está empaqueta en algún subdirectorio.

Si hemos creado dentro del jar un subdirectorio iconos o imagenes para meter la imagen, deberemos poner el path.

Image miImagen = getImage (getClass().getResource ("imagenes/imagen.gif"));

También es importante que la clase en la que hagamos el getClass() esté dentro del mismo jar.