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).



Lamentablemente hay muchos usuarios en la red que han llegado al blog para escribir obscenidades, así que la moderación se hace necesaria. Recuerda utilizar un lenguaje correcto y espera a que sea aprobado.

Si necesitas publicar código haz click en "Conversión" para hacerlo legible.
ConversiónConversión