Por qué hace esto el JTable?
Hola a todos, tengo el siguiente problema:
Tengo una tabla en la que inicialmente tengo unas determinadas columnas pero que, en función de si se pulsa algún botón, se pueden insertar nuevas columnas. El principal problema es que las tengo que insertar justo antes de la última columna.
He probado a hacer de todo. Si se las añadÃa a la tabla {tabla.getColumnModel().addColumn(nueva columna)}, cuando hacÃa el renderer {a pesar de que ponÃa tablal.getColumn(nueva columna).setCellRenderer} al llegar a la nueva columna me daba un error (ArrayIndexOfBoundsException o algo asÃ).
Después he probado a añadir las tablas directamente al modelo y tengo el siguiente código:
System.out.println("tablaPlanificacionProyecto.getColumnCount(): "+tablaPlanificacionProyecto.getColumnCount());
modelo.addColumn(nombre);
System.out.println("tablaPlanificacionProyecto.getColumnCount(): "+tablaPlanificacionProyecto.getColumnCount());
int posicion = modelo.findColumn(nombre);
System.out.println("tablaPlanificacionProyecto.getColumnModel().getColumnIndex(nombre): "+tablaPlanificacionProyecto.getColumnModel().getColumnIndex(nombre));
tablaPlanificacionProyecto.getColumn(nombre).setCellRenderer(render);
tablaPlanificacionProyecto.moveColumn(modelo.findColumn(nombre),i);
System.out.println("tablaPlanificacionProyecto.getColumnModel().getColumnIndex(nombre): "+tablaPlanificacionProyecto.getColumnModel().getColumnIndex(nombre));
Pues bien, según los println que tengo, me sale que se colocan en la columna adecuada (primero se insertan al final y luego las muevo a la posición i). Sin embargo, cuando se muestra la tabla veo que las columnas se muestran al final (en lugar de donde deberÃan). Además, la tabla deja de renderizarse según el renderer que le tengo asignadas a las columnas.
¿Alguien tiene alguna idea de porqué me está haciendo esto y cómo podrÃa solucionarlo?
Muchas gracias de antemano
Tengo una tabla en la que inicialmente tengo unas determinadas columnas pero que, en función de si se pulsa algún botón, se pueden insertar nuevas columnas. El principal problema es que las tengo que insertar justo antes de la última columna.
He probado a hacer de todo. Si se las añadÃa a la tabla {tabla.getColumnModel().addColumn(nueva columna)}, cuando hacÃa el renderer {a pesar de que ponÃa tablal.getColumn(nueva columna).setCellRenderer} al llegar a la nueva columna me daba un error (ArrayIndexOfBoundsException o algo asÃ).
Después he probado a añadir las tablas directamente al modelo y tengo el siguiente código:
System.out.println("tablaPlanificacionProyecto.getColumnCount(): "+tablaPlanificacionProyecto.getColumnCount());
modelo.addColumn(nombre);
System.out.println("tablaPlanificacionProyecto.getColumnCount(): "+tablaPlanificacionProyecto.getColumnCount());
int posicion = modelo.findColumn(nombre);
System.out.println("tablaPlanificacionProyecto.getColumnModel().getColumnIndex(nombre): "+tablaPlanificacionProyecto.getColumnModel().getColumnIndex(nombre));
tablaPlanificacionProyecto.getColumn(nombre).setCellRenderer(render);
tablaPlanificacionProyecto.moveColumn(modelo.findColumn(nombre),i);
System.out.println("tablaPlanificacionProyecto.getColumnModel().getColumnIndex(nombre): "+tablaPlanificacionProyecto.getColumnModel().getColumnIndex(nombre));
Pues bien, según los println que tengo, me sale que se colocan en la columna adecuada (primero se insertan al final y luego las muevo a la posición i). Sin embargo, cuando se muestra la tabla veo que las columnas se muestran al final (en lugar de donde deberÃan). Además, la tabla deja de renderizarse según el renderer que le tengo asignadas a las columnas.
¿Alguien tiene alguna idea de porqué me está haciendo esto y cómo podrÃa solucionarlo?
Muchas gracias de antemano