Tablas Swing

    La mejor forma de crear tablas en Java son las de la librería SWING, o lo que conocemos comúnmente como un "jTable". Para crear esto la sintaxis es la de siempre:


jTable tabla = new jTable();


    En donde:


- "tabla" es el nombre que le daremos a nuestro objeto o tabla que estamos creando.

- jTable es el API que estamos cargando de la librería SWING.


    Aunque esta no es la mejor forma de crear una tabla, ya que si vamos a trabajar con una aplicación en donde se desea crear, borrar o modificar registros o campos de esa tabla, lo mejor es crear modelo de tabla o lo que también se conoce como "DefaultTableModel".


    Para instancear nuestra tabla al modelo de tablas, lo hacemos de la siguiente manera:


DefaultTableModel modelo = new DefaultTableModel(); //Creamos el modelo
JTable tabla = new JTable(modelo);                                   //Lo instanceamos en la tabla


    Si la cantidad de datos se excede y no creamos un "scroll" (barra a mano derecha con las flechítas de arriba y abajo) no podremos ver el resto de los datos, para crear un "scroll" y añadirlo a nuestra tabla hacemos lo siguiente:


JScrollPane scroll = new JScrollPane(tabla);


    De esta forma ya hemos creado nuestra tabla y de esta forma sera mas fácil modificar datos en ella, los comando para ello son los siguientes:


datos.addColumn ("Nombre columna");

datos.addRow (datos_fila);                      //Crea una nueva fila
datos.removeRow (fila);                           //Borra una fila
datos.setValueAt (dato, fila, columna);  //Modifica un dato en la celda indicada


    En donde:


- "Nombre_Columna" es el nombre que le daremos a la columna, para agregar múltiples columnas lo mejor sería hacerlo con un arreglo

- "datos_fila" serán los datos que agregaremos a la fila que hemos creado, la forma mas fácil de introducir datos a las filas es con arreglos.

- dato es el valor a insertar en el campo o celda.

- fila es el número de la fila, comenzando desde 0.

- columna es el número de la columna, comenzando desde 0.



Dicho esto, observemos este ejemplo en el cual se añaden los datos a la tabla mediante arreglos, aunque no están implementadas las opciones de crear, borrar o modificar datos, podemos implementarlas sin problemas.


import javax.swing.*;
import java.io.*;
import java.awt.*;

public class Tabla extends Frame
{

Object[][] filas= {{"JAJA", "LALA", "TATA", new Integer(5), new Boolean(false)},
{"JEJE", "LELE", "TETE", new Integer(3), new Boolean(true)},
{"JIJI", "LILI", "TITI", new Integer(2), new Boolean(false)},
{"JOJO", "LOLO", "TOTO", new Integer(7), new Boolean(true)},
{"JUJU", "LULU", "TUTU", new Integer(4), new Boolean(false)}};

String[] columnas = {"Nombre", "Apellido", "Direccion", "Edad", "Soltero(a)"};

public Tabla()
{
JTable tabla = new JTable (filas,columnas);
JScrollPane scroll = new JScrollPane(tabla);
add(tabla);
}
public static void main (String [] args) throws IOException
{
Tabla contenedor=new Tabla();
contenedor.pack();
contenedor.setVisible(true);
}
}

    Otra forma de agregar los datos es haciendo "JTable table = new JTable(datos, columnas)", con esto se agregan los datos a la tabla en forma de "FILAS x COLUMNAS".


    También hay que aclarar que todo esto debe estar dentro de un contenedor, bien ya sea un "jPane" o un "jFrame", para poder visualizar el objeto (la tabla).