Bitácoras

Thinking in Java (Piensa en Java) [español]

El libro "Thinking in Java" es un referente a la hora de entender el lenguaje Java. Hoy os dejo un enlace a la descarga del libro Piensa en Java, la versión en español del libro.

Piensa en Java

Anteriormente ya publiqué una versión en inglés de documentos para Java, a los cuales hay que añadir sin duda este otro libro.

Espero que os sea útil.

Spotify y música para programación hardcore

Hoy quiero presentaros un programa muy interesante. Se llama Spotify y es una especie de Last.fm, pero casi sin restricciones. Se puede escuchar la música que quieras en el orden que quieras, todo esto gracias a un catálogo de miles (o millones) de discos completos. Además, se pueden crear listas de reproducción, las cuales se pueden compartir mediante enlaces.

/archivos/image/thumbs/spotify.jpg

Las únicas "pegas" que le encuentro son que no se puede descargar la música (fácilmente) y ésta no es de la misma calidad que un mp3 ripeado de un CD. Para registraros, seguid el enlace a continuación:

 

Actualización [14/04/2010]: El enlace para registrarse sin invitación ya hace tiempo que no funciona. Si alguien necesita invitaciones que las solicite en los comentarios y o bien yo o algún visitante generoso se las facilitará.

Tutorial de Jigloo - Segunda parte: cómo añadir eventos y acciones en Swing

Para completar la primera parte del tutorial, procedemos a añadir eventos a las ventanas. Un evento es cada una de las acciones que realizamos sobre nuestro programa, desde pulsar un botón, situar el botón sobre un objeto o minimizar la ventana.

  • Antes de nada, vamos a completar la interfaz con un menú Ayuda, que contendrá dos ítems: Ayuda y Acerca de...
  • Lo siguiente es crear una ventana que será la que aparezca cuando pulsamos sobre el botón Acerca de...  Pulsamos fuera de la ventana y seleccionamos Add → Add Containers → JDialog

    tut_jigloo_2_1.png
     
  • Una vez que tenemos el JDialog creado, le asignamos un nombre, por ejemplo vAcercaDe. Le asignamos un GroupLayout, que se encuentra en la opción Set Layout que aparece cuando pinchamos con el botón derecho. Ponemos título y redimensionamos al tamaño adecuado y añadimos un JLabel y un botón (yo les llamaré LabelAcercaDe y buttonOkAcercaDe de forma que quede así:

    tut_jigloo_2_2.png
     
  • Ahora tenemos que añadir un evento que cierre la ventana cuando pulsemos el botón OK. Para ello seleccionamos More Components → AbstractAction. Podemos hacerlo a través de la barra de herramientas o mediante el menú contextual pinchando sobre el botón. Llamaré a la acción accionCerrarAcercaDe. Le asignaremos el texto "OK". A continuación tenemos que editar el código de la aplicación directamente. En la pestaña Outline, donde encontramos todos los elementos de la interfaz, buscamos la accionCerrarAcercaDe y la seleccionamos. Si tenemos el código delante, el cursor se situará sobre el fragmento correspondiente a este elemento. Ahí es donde tenemos que agregar lo siguiente:

    getVAcercaDe().dispose();

    tut_jigloo_2_3.png
     
  • Lo siguiente será añadir otra acción que abra la ventana que acabamos de crear. Entonces tendremos que repetir el proceso anterior, sólo que ahora añadiremos la acción al itemAcercaDe, que está dentro del menú Ayuda. Podremos encontrarlo en la pestaña Outline.

    tut_jigloo_2_4.png
     
  • La llamaremos accionAcercaDe y le asignaremos el texto "Acerca de...". Lo siguiente será añadir el código. Procedemos como antes, pero ahora lo que habrá que añadir será lo siguiente:

    getVAcercaDe().pack();
    getVAcercaDe().setLocationRelativeTo(null);
    getVAcercaDe().setVisible(true);
  • Si ejecutamos la aplicación todo debería funcionar correctamente. Es posible que las ventanas no queden exactamente como aparecen en el editor, por lo que deberemos redimensionar los elementos necesarios. Si hay alguna duda más, mi correo está disponible para preguntas y sugerencias admin [_at_] java-spain [_dot_] com

    tut_jigloo_2_5.pngtut_jigloo_2_6.png

Actualización [04/08/2009]: Podéis descargar el código fuente: MainWindow.java

Sun Microsystems anuncia el lanzamiento de JavaFX 1.0

Sun Microsystems ha lanzado la versión 1.0 de su apuesta para el mercado de las aplicaciones web multimedia, JavaFX. Esta plataforma permite desarrollar webs con un aspecto visual muy llamativo, al estilo de la tecnología Flash de Adobe. Esperemos que tenga una buena aceptación por parte de los desarrolladores y consiga hacerse un hueco en la red.
Tenéis más información en JavaHispano

Tutorial de Jigloo: cómo crear una interfaz con Java y Swing

Hoy voy a postear la entrada más importante que he escrito desde que empecé el blog, un tutorial de Jigloo, un editor de interfaces Java en Swing. Hace unos días escribí un post sobre cómo instalar Jigloo. Este tutorial es tan sólo una introducción, por lo que es recomendable que, una vez completado, intentéis "cacharrear" con el código e investigar las posibilidades que ofrece Swing y éste plugin en particular. Os recomendaría leer la API de Java, pues es la clave para aprender a utilizar bien el lenguaje. Si detectáis algún error postead un comentario o mandadme un email a admin [_at_] java-spain [_dot_] com. Para ampliar las imágenes, simplemente pinchad sobre ellas.

Curiosidades Java: Optimización de Strings (II)

Como continuación del post anterior Curiosidades Java: Optimización de Strings (I), hoy os ofrezco una manera de optimizar de manera "brutal", si me permitís la expresión.

Normalmente, cuando uno empieza a programar en Java, solemos utilizar la clase String para representar cadenas de caracteres. En un principio, y para aplicaciones sencillas que no manejan una gran cantidad de cadenas, es suficiente. El problema viene cuando, por ejemplo, tenemos que realizar miles de concatenaciones de cadenas. En este caso la clase String presenta un rendimiento pésimo comparado con otras dos clases que vamos a tratar a continuación.

Curiosidades Java: Optimización de Strings (I)

Para quien lleve bastante tiempo con Java, sabrá lo que voy a contar a continuación, pero para los que se inician en el lenguaje esto les será muy útil. Dentro de la optimización de Strings voy a tratar dos temas distintos en sendas entradas, relacionadas con cómo la JVM maneja la memoria.

Hoy, en primer lugar, os voy a plantear una pregunta (no, no hay premio para el que acierte, además os voy a decir la solución :P).

La pregunta es la siguiente:

Si tenemos el siguiente fragmento de código:

String a = "Hola Mundo";
String b = a;

¿Cuántas regiones de memoria utilizará la JVM para almacenar ambas cadenas?

Jigloo, un editor de interfaces Swing para Eclipse

Curioseando por ahí he descubierto Jigloo, un editor WYSIWYG (What You See Is What You Get) para crear interfaces en Java utilizando la biblioteca Swing. También es posible utilizar las ya obsoletas SWT y AWT.

El proceso de instalación es bastante sencillo. Basta con utilizar el gestor de actualizaciones de Eclipse.

Actualización [27/10/2008 - 19:23]: Ahora tenéis disponible un tutorial de Jigloo

Problemas con Java y Vuze (antes Azureus) en Mac OS X Leopard

Al utilizar Vuze en MacOS X nos podemos encontrar con un problema: Vuze NO es compatible con la JVM de 64 bits, por tanto, si intentamos iniciar el programa no conseguirá arrancar. No aparecerá ninguna ventana de error, pero sí que quedará registrado en la consola de Leopard.

Documentación de Java

A continuación encontraréis dos documentos relacionados con Java, las code conventions, que son las normas de estilo, y las especificaciones del lenguaje Java, para conocerlo en profundidad.

JavaCodeConventions.pdf

langspec-3.0.pdf

Aparte de estos documentos, aún más importante es la documentacion de Java. La podemos encontrar en el siguiente enlace, que os recomiendo que añadáis a los marcadores de vuestro navegador:

java.sun.com/javase/6/docs/api/

Distribuir contenido