java - tiempo - Agregar filas a una JTable
modificar datos de un jtable en java (3)
Tenemos un proyecto simple donde leemos datos de un socket y queremos llenar una tabla con los datos que vienen, pero no podemos encontrar una manera de agregar filas a un objeto JTable
creado, solo podemos encontrar cómo agregar filas en el momento de la creación de la mesa.
¿Es posible agregar filas dinámicamente a una JTable
, o hay un mejor objeto alternativo para tratar esta forma de mostrar datos?
EDITAR : Muchas gracias por tus respuestas.
Los tres se ven muy prometedores, pero tengo que elegir solo uno y creo que lo mejor es Guillaume.
Debe crear un TableModel
personalizado. Una JTable
realidad no almacena las filas, siempre delega eso en un TableModel
. Para ayudarlo a implementarlo, debe hacer uso de AbstractTableModel
. No olvide llamar a fireTableRowsInserted()
cada vez que agregue filas. Para obtener mejores resultados si agrega muchas filas, intente lotar las actualizaciones y agregue muchas filas a la vez.
Si usa el modelo de tabla predeterminado para una JTable, puede agregar filas con el siguiente código
if ( dest+1 < table.getRowCount()-1 )
( (DefaultTableModel) table.getModel() ).insertRow(dest+1, getValuesForNewRow());
else
( (DefaultTableModel) table.getModel() ).addRow(getValuesForNewRow());
Una vez que comience a agregar y eliminar dinámicamente elementos de una JTable, realmente debe comenzar a usar TableModel.
Vea el tutorial de Java para más detalles.