JTable es una clase de Java que permite crear una tabla en Java pudiendo permitir al usuario editarla. En esta entrada voy a explicar cómo crear una JTable sencilla en Java.
Lo primero que tenemos que hacer es declarar en un array de Strings los nombres de las columnas:
String[] columnNames = {"First Name", "Last Name", "Sport", "# of Years", "Vegetarian"};
Una vez hecho esto, debemos insertar el contenido de las tablas y para esto vamos a utilizar una matriz, que pasaremos al método posteriormente, con las filas y el contenido de cada una de ellas.
Object[][] data = {
{"Kathy", "Smith", "Snowboarding", new Integer(5), new Boolean(false)},
{"John", "Doe" "Rowing", new Integer(3), new Boolean(true)},
{"Sue", "Black", "Knitting", new Integer(2), new Boolean(false)},
{"Jane", "White", "Speed reading", new Integer(20), new Boolean(true)},
{"Joe", "Brown", "Pool", new Integer(10), new Boolean(false)}
};
Una vez hemos declarado y asignado valores a estos arrays, debemos crear nuestra JTable:
JTable table = new JTable(data, columnNames);
Este es el resultado de la tabla que hemos creado:
Esta es una forma de crear JTable muy fácil y sencilla, el problema es que es poco personalizable y permiten al usuario editar su contenido, además de que trata todos los campos como Strings (aunque sean boolean o int).
Hay una forma de personalizar tus JTable, y es mediante un modelo. Utilizando la interface AbstractTableModel podemos personalizar nuestra JTable implementando los métodos de esta interface como en el siguiente ejemplo:
new AbstractTableModel() {
public String getColumnName(int col) {
return columnNames[col].toString();
}
public int getRowCount() { return rowData.length; }
public int getColumnCount() { return columnNames.length; }
public Object getValueAt(int row, int col) {
return rowData[row][col];
}
public boolean isCellEditable(int row, int col)
{ return true; }
public void setValueAt(Object value, int row, int col) {
rowData[row][col] = value;
fireTableCellUpdated(row, col);
}
}
Si quieres saber qué métodos implementar o necesitas más información sobre cómo crear los modelos para tus JTable puedes visitar las siguientes páginas:
API JAVA JTable: http://docs.oracle.com/javase/7/docs/api/javax/swing/JTable.html
API JAVA AbstractTableModel: http://docs.oracle.com/javase/7/docs/api/javax/swing/table/AbstractTableModel.html
Creando un AbstractTableModel: http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#data
Espero que sirva de ayuda esta entrada para crear una tabla simple con JTable en Java y profundizar más con los modelos para crear tablas más personalizadas
Deja un comentario