El componente JTable sirve para mostrar tablas de datos, vamos a llenar de datos manualmente un jTable con java y Netbeans, esta es la forma mas fácil de lograrlo.
📦 Este artículo es parte de la Guía Maestra de Aprender Java y NetbeansAprende a programar en Java desde CERO hasta interfaces gráficas.Ver la Guía Completa →
El componente JTable es uno de los elementos más utilizados en Java Swing para mostrar datos en forma de tabla dentro de aplicaciones de escritorio. En este artículo aprenderás cómo llenar un JTable manualmente usando DefaultTableModel en Java con NetBeans, paso a paso y con ejemplos de código listos para usar.
¿Qué es JTable en Java?
JTable es un componente de la librería Java Swing que permite mostrar y editar datos organizados en filas y columnas, similar a una hoja de cálculo. Se utiliza frecuentemente para mostrar resultados de consultas a bases de datos, archivos CSV, o cualquier colección de datos estructurados.
Para controlar los datos que muestra un JTable se utiliza un TableModel. El más común y fácil de implementar es DefaultTableModel.
En el siguiente vídeo les muestro paso a paso desde crear el proyecto, hasta llenar de datos el jtable.
Pasos para llenar un JTable en NetBeans
1. Abrir NetBeans y crear un nuevo proyecto
Abre NetBeans IDE y ve a File → New Project → Java → Java Application.
2. Agregar un JFrame Form al proyecto
Haz clic derecho sobre el paquete del proyecto → New → JFrame Form. Esto abrirá el editor visual de Swing.
3. Agregar el componente JTable al JFrame
Desde la paleta de componentes, arrastra un JTable hacia el formulario. NetBeans lo envolverá automáticamente dentro de un JScrollPane, lo cual es recomendable para que aparezcan las barras de desplazamiento cuando haya muchos datos.
Asigna un nombre al componente, por ejemplo: mytable.
4. Escribir el código para llenar el JTable
En el constructor del JFrame, o en el método initComponents(), agrega el siguiente código:
Codigo
Vamos a rellenar un JTable usando un DefaultTableModel(), el TableModel es una estructura de datos a la que se le agregan columnas y filas, cada filla lleva un objeto con el numero de datos de las columnas.
DefaultTableModel model = new DefaultTableModel();
model.addColumn("Id");
model.addColumn("Nombre");
model.addColumn("Precio");
model.addRow(new Object[]{"1","Computadora","$ 5000"});
model.addRow(new Object[]{"2","Computadora","$ 7000"});
model.addRow(new Object[]{"3","Computadora","$ 4000"});
model.addRow(new Object[]{"4","Computadora","$ 1000"});
model.addRow(new Object[]{"5","Computadora","$ 500"});
model.addRow(new Object[]{"6","Computadora","$ 2000"});
mytable.setModel(model);El componente DefaultTableModel sirve para manupular un TableModel de manera fácil.
En las lineas 3 – 5 agregamos las columnas para la tabla.
En las lineas 7 – 12 agregamos las filas de datos.
En la linea 14 le asignamos el modelo a la tabla.
Quieres usar Mysql con Java mira el articulo sobre Conectar Netbeans, Java y Mysql
Cómo llenar un JTable desde un arreglo (Array)
También puedes cargar datos desde un arreglo bidimensional directamente en el constructor de DefaultTableModel:
String[] columnas = {"ID", "Nombre", "Precio"};
Object[][] datos = {
{"1", "Laptop HP", "$5,000"},
{"2", "Laptop Dell", "$7,000"},
{"3", "Laptop Lenovo", "$4,000"}
};
DefaultTableModel model = new DefaultTableModel(datos, columnas);
mytable.setModel(model);Esta variante es útil cuando ya tienes los datos precargados en memoria.
Cómo agregar filas dinámicamente al JTable
Si necesitas agregar filas en tiempo de ejecución (por ejemplo, desde un formulario o un botón), puedes hacerlo así:
DefaultTableModel model = (DefaultTableModel) mytable.getModel();
model.addRow(new Object[]{"7", "Mouse Inalámbrico", "$350"});Conclusion
El elemento JTable es un elemento muy importante para mostrar datos, con el ejemplo que vimos podemos crear un DefaultTableModel apartir de datos de un archivo csv o de una base de datos
📦 Sugerencia: Si te interesa el desarrollo de sistemas de inventario, te recomendamos echar un vistazo a Inventio Max, nuestra solución más completa para empresas.