Tutorial 1- JTable

10

Click here to load reader

description

Tutorial 1- JTable

Transcript of Tutorial 1- JTable

Tutorial: Tablas en Java

El siguiente ejemplo muestra paso a paso como se utilizan el control de tabla en java (JTable) para ello el siguiente tutorial explica:1. Crear el formulario junto con la tabla2. Obtener la informacin que viene del formulario y manipularla3. Realizar operaciones con los datos del formulario4. Regresar los datos a la tablaComencemos:1. Crear el formulario junto con la tablaUna vez creado el proyecto, se necesita agregar desde el men del click derecho un JFrame Form, esto se hace de la siguiente manera: click derecho sobre el paquete de la ventana izquierda->Nuevo->JFrame Form

De esta manera se crea un formulario estilo ventana Windows, al cual, desde la vista de diseo le agregaremos dos controles, el primero una tabla (JTable) en el cual se agregarn los datos a ordenar.

El segundo control que se debe agregar es un botn, desde el cual se dar la orden para que, una vez introducidos los datos estos se ordenen.

Luego de agregar el botn cambiaremos dos cosas, primero el nombre de la variable con la cual se identifica el control y segundo el texto que se visualiza.

Cambio de texto: Click derecho sobre el control -> Edit text, puedes cambiarlo a Ordenar por seleccin1

Cambio de variable: click derecho sobre el control-> Change variable name (cambiar nombre de la variable)2

Repetimos el paso dos para cambiar el nombre de variable de la tabla, la tabla ser nombrada como JTableExterna.Ahora el botn se llama JButtonOrdena, luego desde la pestaa source (fuente) veremos en el cdigo fuente que nos aparece:

123

En la figura anterior, se destacan algunos elementos que son importantes:1-Es el cdigo que se crea, una vez se crea el formulario2-Es el mtodo que se ejecuta una vez se corre la aplicacin (constructor)3-Es el cdigo generado por el botn despus de darle doble click desde la vista de diseoAhora debemos repasar un concepto clave de los JTable. Estos controles utilizan algo llamado modelo. Se define como un DefaultTableModel. Lo que se necesita hacer es declarar un objeto de este tipo y asignarle el modelo que posee la jTable que tengamos en nuestro programa.Estos tres elementos es importante tenerlos en cuenta puesto que con ellos se va a trabajar la codificacin de nuestra tabla.Lo primero que haremos una vez estamos en la ventana del cdigo fuente es agregar una importacin para el manejo de tablas en java, para lo cual agregamos la siguiente lnea de cdigo al comienzo del formulario: javax.swing.table.DefaultTableModelLuego, dentro de la clase JFrameOrdenaSeleccion (este es el nombre del formulario) hay que agregar las declaraciones como se ve a continuacin:

La primer lnea de cdigo (DefaultTableModel) se utiliza para el manejo de tablas, aqu he declarado una variable que se llama JTableInterna; La siguiente lnea es un arreglo bidimensional que representa los datos de las celdas de la tabla. La tercer lnea se refiere a las etiquetas de las columnas que tendr la tabla, en este caso, la tabla solo tendr una columna. Finalmente la tercer lnea es un arreglo de tipo entero donde se almacenarn los datos de la tabla una vez introducidos.

Luego, en el mtodo constructor se agregan las siguientes lneas de cdigo:

Siendo el primer mtodo que se ejecuta la primera lnea que aparece es un inicializador de componentes, este ya no es necesario agregar puesto que en cuanto se crea el formulario este se agrega por defecto. En la siguiente lnea se agrega la tabla, para lo cual hay que pasarle los datos que contendrn las filas y las columnas (data: filas; column: columnas) explicados en el paso anterior.La siguiente lnea establece el contenido del control (en el formulario) pasndole como argumentos la tabla creada en el paso anterior. Finalmente, en la ltima lnea se establecen la cantidad de filas que contendr la tabla una vez creado el formulario en cuanto el programa se corra.Tabla internaTabla externa

DE AQU EN ADELANTE TODO LO QUE LE OCURRA A LA TABLA INTERNA, LE OCURRIR TAMBIEN A LA EXTERNA.En resumen, lo que se establece en este bloque de cdigo son las caractersticas que tendr el control una vez creado el formulario: Iniciar con 10 filas, y una columna con el ttulo: Datos a ordenar.2. Obtener la informacin que viene del formulario y manipularla

Para manipular los datos que se ingresen en la tabla, en el paso anterior se ha agregado un botn, desde el cual se darn las instrucciones necesarias para capturar estos datos, y ordenarlos y regresarlos a la tabla.

El evento que desencadenar esta accin (ordenar) ser el botn que hemos agregado, as que es ah (en el cdigo generado por el botn) donde agregaremos el siguiente bloque de cdigo:

123

El ciclo mostrado en la figura anterior permite capturar los datos en el arreglo de tipo entero que hemos declarado.

1-El ciclo va desde 0 hasta el tamao de la tabla (10 filas)2-La instruccin Integer.parseInt() permite convertir de texto a numeracin entera3-Se va llamando cada celda de la tabla. (i, 0) es porque la tabla solamente tiene una columna es decir la columna 0, y va cambiando de filas con i a medida que el for avanza.

De esta manera se va obteniendo cada valor de la tabla del formulario y se va introduciendo en la tabla.tablaDatos[0] = tablaDatos[1] =tablaDatos[2] =..tablaDatos[9] =3. Realizar operaciones con los datos del formulario

Luego de que ya se capturaron los datos del formulario el siguiente paso es tomar los datos y realizar la operacin de ordenacin para lo cual usaremos el siguiente cdigo, que ordena los nmeros, este cdigo ya ha sido probado. No entraremos en detalle a ver el funcionamiento del algoritmo puesto que el objetivo del tutorial es aprender a capturar los datos de entrada desde la tabla, la manipulacin interna y devolucin de los mismos a la tabla. En resumen aprender a manipular los conroles.

4. Regresar los datos a la tablaLuego de la ordenacin, el ltimo paso es regresar los datos desde el arreglo hasta la tabla que est en el formulario, recordemos que para hacer referencia a la tabla que est en el formulario simplemente se hace referencia a la tabla interna, puesto que ya se estableci que la tabla interna es parte de la externa. Entonces agregaremos el siguiente bloque de cdigo a continuacin del ciclo que ordena:

Lo que ocurre aqu es que JTableInterna va estableciendo los valores que estn dentro de tablaDatos (arreglo que ya fue ordenado en el paso anterior). La funcin que establece los valores se compone de la siguiente manera setValue(dato_aparece_en_tabla, fila, columna)Listo! EL siguiente paso es probar el funcionamiento del formulario, haciendo click derecho en el explorador de soluciones (panel izquierdo de la ventana) y luego en la instruccin Run fie1

2

Insertamos los datos a ordenar y luego Click en el botnLos datos han sido ordenados3

4