Archivo mensual: noviembre 2015

Avance 2: Generando Reportes Básicos en HTML

En este avance, luego de armar la GUI, probaremos generar reportes basicos de HTML, veremos la estructura basica de HTML y como generarla desde Java

Primero necesitaremos un Event > ActionPerformed en el boton de Generar Reporte, generaremos un reporte diferente, depende de la seccion del menu principal de RadioButtons, para ello usaremos una estructura IF y el metodo .isSelected()

isSelected

Ahora, buscaremos crearemos un método para escribir en un archivo de Texto, con extension .html

Se llamara generarReporte(String reporte, String titulo, LinkedList<T> lista)

Este recibira como parametros de entrada en nombre del reporte con la extension («Reporte de listas.html»)

Tambien recibira el titulo para la creacion de la pagina,

Tambien la lista que queremos presentar

Por ahora presentaremos una presentacion basica

Usamos la misma logica que guardar en un archivo (para mas informacion para entender este codigo visita mi otra entrada sobre conjuntos y archivos)

generarReporte

Al presionar el programa se generara una pag web local

contenidoPagWeb

 

 

Avance 1: Armando la GUI

La GUI (graphic user interface) es una de las ventajas de java, permitiendo usar Java Swing o Java Fx (En este proyecto se usara Java Swing) que actúa de interfaz de usuario, utilizando un conjunto de imágenes y objetos gráficos para representar la información y acciones disponibles en la interfaz.

Primero creamos una JFrame nueva (con el click izquierdo > New)

Jframe

 

Nos aparecera el JFrame, junto con la paleta de componentes que podemos usar, asi como sus propiedades

window

Con ayuda del Mouse, podemos dibujar de la manera que queremos que se cea nuestro formulario

formulario

Lo proximo, necesitamos renombrar las variables de cada componente para que se facilite el manejo del codio

Lo recomendable es usar las primeras letras del componente, y las siguiente lo que se trata

Ej BtnBuscar    (Donde Btn refiere al boton, y Buscar a la accion del boton)

Change variable name

Ahora que tenemos el formulario, programemos los JRadioButtons del menu principal, para habilitar o desabilitar las opciones segun su uso

Para ello haremos uso de el metodo Enabled el cual retorna un entero, y bloquea o libera componentes

primero damos click izquierdo > Events > Action > ActionPerformed

Lo que generara el codigo para un metodo que recibe como parametro de entrada un evento de la interfaz tipo java.awt.event.ActionEvent

setEnabled

 

 

 

 

 

De esta manera solo mantenemos activos los elementos que requerimos

ventanabloqueada

Ejercicio: Listas enlazadas

Para este ejercicio vamos a utilizar las listas enlazadas en formas de conjuntos, calular su union, interseccion y resta; tambien manejaremos archivos para cargar y guardar listas en archivos.

Para el proyecto vamos a crear las siguientes clases:

  • Programa.java
  • Conjunto.java
  • Coordenada.java

CLASES


 

Coordenada.java

Coordenada. java es una clase que representa un TDA el cual usamos para llenar las listas y representar los conjuntos. En este caso, son conjuntos de coordenadas.

En esta clase sobrescribimos los métodos equals(); y toString(); para adecuarlos a coordenadas. Cuenta con dos constructores, uno con parametros vacios que nos ubica una coordenada en Guayaquil y otra con parámetros para colocar el punto de la coordenada.

Conjunto.java

En la clase conjunto se manejan las operaciones de unión, intersección y resta de conjuntos.

Método union();

Este método recibe 2 listas y devuelve la unión de esas listas en forma de otra lista

Primero agrega todos los elementos de las dos listas en una gran lista, y luego con un Iterador pasamos a quitar los repetidos usando la funcion .contains() de las listas enlazadas.
union()

 Metodo Interseccion();

Este método recibe 2 listas y devuelve lainterseccion de esas listas en forma de otra lista

En la interseccion iteramos la primera lista, y preguntamos si los elementos tambien los contiene la lista dos, guardando en una tercera lista la interseccion.

interseccion()

Metodo Resta();

Este método recibe 2 listas y devuelve la resta de esas listas en forma de otra lista

Para la resta iteramos el primer conjunto, y vamos preguntando si estos se encuentran en el segundo conjunto, si no se encuentran estos son agregados a la lista de la resta.

resta()

Programa.java

En el programa carga las listas de coordenadas y aplica las operaciones de conjunto para imprimir por pantalla los resultados

Tambien los guarda en un nuevo archivo.

Metodo GuardarArchivo();

El metodo guardarArchivo, tiene como parametro las listas a guardar y el nombre del archivo a guardar (si este no existe lo crea, y si existe lo sobrescribe).

Con PrinterWriter nos permite escribir en el archivo y guardamos directamente las listas, ya que tienen el toString() ya establecido

guardarArchivo()