22 nov. 2012

Crear una base de datos básica de clientes en Java

Unos pocos días atrás creé una entrada en la cuál mostraba una base de datos para clientes (por ejemplo) que había creado utilizando el software y lenguaje de programación Gambas. Si bien en aquel programa utilizaba una base de datos SQLite para almacenar los datos, en este programa se almacena en la memoria del ordenador. Quedo por lo tanto en mi lista de tareas el realizar la base de datos en Java almacenando datos en un servidor. 
La aplicación consiste en una ventana principal que contiene una tabla que muestra la lista de clientes guardados. Esa ventana permanece hasta que se realiza alguna de las tres acciones posibles, que son dar de alta a un nuevo cliente, modificar un cliente o dar de baja a un cliente previamente almacenado. Al elegir la opción de alta de un nuevo cliente aparecerá sobre la ventana principal un nuevo panel con cuadros de texto para introducir los datos y el botón de guardar. En caso de que la opción elegida sea modificar o borrar un cliente, el panel que aparecerá contendrá cuadros de texto para buscar un determinado cliente y además otros cuadros de texto que muestran el cliente sobre el que realizar la opción que se desee. Personalmente pienso que la interfaz que he creado es bastante mejorable, pero la utilidad y funcionalidad que quería darle las tiene.
Decir que la lista de clientes almacenados se guarda en un ArrayList. Encontré información muy interesante con respecto a este tipo de elementos aquí. Como de cada cliente se almacena el nombre y los dos apellidos, pues la lista está formada por conjuntos de ArrayList, teniendo por tanto una lista ArrayList<ArrayList<String>>. Para recorrer los elementos de la lista he utilizado un ListIterator, y para buscar un determinado cliente el método de ArrayList "contains". Podeis ver y descargar el código fuente en el enlace al final de la entrada.

Aspecto de la ventana principal

Aspecto al seleccionar la opción de alta de cliente

Aspecto de la ventana añadiendo nuevos clientes

Ventana de modificar cliente con cuadros de búsqueda

 Podéis descargar el código fuente desde aquí.