Social

miércoles, 20 de marzo de 2013

JavaFX: DialogBox/MessageBox

Actualmente dentro de las utilidades de JavaFX no existe la opción para desplegar Dialog Box o Message Box. Estas utilidades se pueden crear desde cero pero puede que lleven un poco de tiempo. A continuación se mostrará un alternativa que usa la siguiente librería. <-click.


Si no saben como agregar la librería en eclipse pueden visitar este post. Al importar y usar esta librería se podrán desplegar mensajes como el de la imagen anterior usando las siguientes lineas de código:

Como se puede observar el método MessageBox.show(), requiere cuatro parámetros que son: Un Stage padre, mensaje a desplegar, titulo de la ventana y los botones e iconos que se deseen desplegar. El primer caso despliega la imagen anterior y el segundo un mensaje de error con un botón de aceptar. 

Como retorno el método de MessageBox.show() devuelve un Integer o int con el valor de la acción seleccionada el cual se puede usar para continuar con el flujo del programa.

martes, 19 de marzo de 2013

JavaFX: Agregar Botón a Tabla

Tema relacionado: Agregar y eliminar filas en TableView

En una entrada anterior (esta) se mostró como crear una tabla con JavaFX. En este caso se hará un ejemplo agregando un botón en las celdas de la tabla. La tabla quedará como lo muestra la siguiente imagen:


En las tablas de JavaFX existe la opción de agregar celdas personalizadas, como se puede ver en la imagen existe un botón dentro de la celda. Otro punto importante es el manejo del contenido de la tabla por medio de una lista observable que realiza los cambios en la tabla cuando la lista cambia. El código de la tabla anterior es el siguiente:



Para que la tabla funcione con el patrón observador es necesario que cree un POJO (Plain Old Java Object) que represente a la tabla y se haga una lista observable con estos. También se le debe indicar a las columnas de la tabla que elemento del POJO representan. Dentro del POJO se le dan atributos del tipo propiedad y en el caso del botón se le agrega el método que desee que ejecute. El código del POJO es el siguiente:



lunes, 18 de marzo de 2013

JavaFX: Agregar Tabla

Para crear una tabla o TableView en JavaFX, desde la versión 2.0 y posteriores, se cuenta con una interfaz amigable al igual que para muchos de sus elementos. De por sí las tablas ya traen consigo un diseño bastante aceptable como el que se muestra a continuación:



Para realizar una tabla en JavaFX hay que tomar en consideración algunos elementos nuevos que trae. Por ejemplo existe la opción de agregar celdas personalizadas. Otro punto importante es el manejo del contenido de la tabla por medio de una lista observable que realiza los cambios en la tabla cuando la lista cambia. El código de la tabla anterior es el siguiente:



Para que la tabla funcione con el patrón observador es necesario que cree un POJO (Plain Old Java Object) que represente a la tabla y se haga una lista observable con estos como se ve en la linea 28. También se le debe indicar a las columnas de la tabla que elemento del POJO representan. Esto se hace con el método setCellValueFactory() de la clase TableColumn, a la cual se le indica que la propiedad a tomar apuntando que objeto y atributo del objeto elegir. El código del POJO es el siguiente:

miércoles, 13 de marzo de 2013

Eclipse: Crear un JAR

Cuando se ejecuta un programa desde eclipse, lo que se hace generalmente es compilar el código fuente y ejecutar los .class sin la necesidad de crear un JAR que se pueda ejecutar. Para generar o crear un JAR en eclipse basta con seguir los siguientes pasos:

Damos click derecho en el proyecto y elegimos la opcion Export...


Esto mostrará una ventana en la cual podemos elegir 3 opciones:

  • JAR file: Esta opción permite crear un JAR en forma de librería, lo cual permite que se pueda importar cualquier clase dentro del mismo y hacer uso de sus métodos y utilidades.
  • Javadoc: Esta opción es un auxiliar de la anterior, ya que permitirá crear un JAR que brindará la documentación necesaria de las clases y métodos del JAR anterior.
  • Runnable JAR file: Esta opción nos permite crear un JAR que se puede ejecutar con el comando "java -jar <archivo.jar>". Si deseamos poder ejecutar el programa esta es la opción a utilizar.



De haber elegido la opción "Runnable JAR file" se presentara la siguiente ventana en la cual simplemente determinamos la ubicación del JAR generado, la configuración de inicio (en caso de tener más de un método Main, se puede elegir con cual iniciar y con que argumentos) y el manejo de librerías (ya sea extrayendolas o empaquetandolas dentro del JAR).


Al final se tendrá el JAR listo para ser utilizado como ejecutable, librería o documentación.

jueves, 7 de marzo de 2013

Java: Convertir un Array de Bytes a un Archivo

Para convertir un arreglo de bytes en un archivo se puede utilizar la clase FileOutputStream de Java. Esta clase contiene el método "write(byte[] array)" el cual permite convertir el array de bytes al archivo usando el array de bytes que se le da como parámetro. El código muestra como lo hace.


Lo primero que se hace en el código anterior es leer los bytes de un archivo y luego se usan estos mismos bytes para crear un archivo idéntico con diferente nombre. Para que el ejemplo funcione debe existir el primer archivo.

martes, 5 de marzo de 2013

Java: Escribir un Json

Post relacionado: Java: Leer/Escribir Json con Gson

Como ya se había mencionado en un post anterior los archivos JSON son una opción para sustituir a los archivos DOM. JSON usa una sintaxis basada en listas separadas por comas y agrupadas por llaves para manejar a los hijos dentro de las listas.

En java para poder escribir estos archivos desde java existen librerías que nos facilitan el trabajo. En este caso usaremos json-simple la cual pueden descargar con este link -> librería o de la pagina de code.google.com. Para realizar la lectura simplemente basta agregar la librería (descrito este post) y usar el siguiente código para escribir la información dentro del archivo.


Se puede observar que el método que permite agregar nuevos elementos a la lista es "put()". Este método ingresa en nombre de una variable y su valor. El valor pueden ser los tipos básicos de variables (int, long, String, etc) una lista del tipo JSONArray o un objeto del tipo JSONObject los cuales se pueden ir anidando para agregar mas niveles. Al final el código anterior creara un archivo que contendrá el siguiente JSON:

lunes, 4 de marzo de 2013

Java: Leer un Json

Post relacionado: Java: Leer/Escribir Json con Gson

Los archivos JSON son una opción para sustituir a los archivos DOM. JSON usa una sintaxis basada en listas separadas por comas y agrupadas por llaves para manejar a los hijos dentro de las listas.

En java para poder leer estos archivos existen librerías que nos facilitan el trabajo. En este caso usaremos json-simple la cual pueden descargar con este link -> librería o de la pagina de code.google.com. Para realizar la lectura simplemente basta agregar la librería (descrito este post) y usar el siguiente código para obtener la información dentro del archivo.



Es importante notar que se pueden leer objetos tipo JSONObject dentro de otro del mismo tipo como un hijo, lo cual nos permite anidar información. Luego de haber ejecutado el código el resultado que obtendrán en consola sera el siguiente:


Con esta librería se debe conocer que parámetros existen dentro del archivo para mandarlos a llamar.
Para la prueba se utilizo el siguiente JSON: