Puntero a null añadiendo columnas a JTable

RazzoR
10 de Mayo del 2006
Pues despues de darle miles de vueltas a cómo añadir columnas a una tabla Jtable he llegado a la conclusión de hacerlo de la siguiente manera:

result = rs.getMetaData();
col = rs.getMetaData().getColumnCount();
col_nombres = new String [col];
for (int i=1; i<=col; i++)
{
col_nombres[i-1]= rs.getMetaData().getColumnName(i);
}


tabla_nombres.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null}
},
new String [] {
col_nombres[0]
}
));

TableColumn columna[];
columna = new TableColumn[2];

for (int i=0;i<1;i++)
{
columna[i].setHeaderValue("hola");
tabla_nombres.addColumn(columna[i]);
}

Me imagino que será una manera pésima de hacerlo y que habrá mejores, pero despues de mirar miles de manuales sólo he conseguido que me funciones esa.

El problema esk yo al principio añadía las columnas de la siguiente manera:
for (int i=0;i<1;i++)
{
TableColumn columna;
columna.setHeaderValue("hola");
tabla_nombres.addColumn(columna[i]);
}

Pero el problema era que al llamarse todos los objetos igual pues el valor que tuvieran los campos siemrpe era el mismo, así que opté por crear un vector de Tablecolumns y me quedó esto:

TableColumn columna[];
columna = new TableColumn[2];

for (int i=0;i<1;i++)
{
columna[i].setHeaderValue("hola");
tabla_nombres.addColumn(columna[i]);
}
Pues no consigo averiguar porqué demonios me da un fallo de direccionamiento (puntero a null, o "segmentation fault"). He simplificado el bucle for tanto como eso, para asegurarme de que no me estaba pasando de iteraciones, incluso probando :

columna[0].setHeaderValue("hola");

tengo puntero a null, y me estoy desesperando ya.


Alguna idea?

Por cierto, si conoceis una manera mejor de añadir columnas es más que bienvenida. El problema que tengo esq uso netbeans y por defecto me genera una tabla de 4 x 4 con lo cual tengo que hacer la chapuza que veis al principio para dejarlo en una tabla de 1x1 y luego ir añadiendo columnas....

Cualquier manual en español o inglés que explique el tratamiento de tablas generadas por NetBeans es más que bienvenido

Muchisimas gracias

[RazzoR]


RazzoR
10 de Mayo del 2006
Aclaración, donde pone:

"
El problema esk yo al principio añadía las columnas de la siguiente manera:
for (int i=0;i<1;i++)
{
TableColumn columna;
columna.setHeaderValue("hola");
tabla_nombres.addColumn(columna[i]);
}

"

En verdad es:

"

for (int i=0;i<1;i++)
{
TableColumn columna;
columna.setHeaderValue("hola");
tabla_nombres.addColumn(columna);
}

"

razzor
10 de Mayo del 2006
Despues de darle mil weltas, lo he conseguido de una manera mucho más simple:

DefaultTableModel model = (DefaultTableModel) tabla_nombres.getModel();


for (int i=2;i<col;i++)
{

model.addColumn (col_nombres[i-1]);
}