Foro sobre Java SE > Mostrar columnas ocultas de un jTable
Hola, de esa manera que tu lo haces, no estas ocultandola, estas eliminandola,
ahora lo que tendrias que hacer es volver a añadirla:
Para ello, antes de eliminarla, debes almacenar esa columna en un atributo(variable global a la clase).
En la clase de forma global, declaras lo siguiente:
TableColumn tempColumn;
El eliminar quedaria asi:
tempColumn=jTable1.getColumnModel().getColumn(19);
jTable1.removeColumn(tempColumn);
y despues volverla a añadir, seria:
jTable1.addColumn(tempColumn);
Otra cosa que puedes hacer, para ocultarla y mostrarla, es cambiar la anchura de la columna a 0 y después devolverla a su tamaño... De esta manera, no quitas y añades la columna, que requiere mas recursos, que cambiar el ancho de una columna.
Ocultar:
TableColumn tempColumn=jTable1.getColumnModel().getColumn(19);
tempColumn.setMinWidth(0);
tempColumn.setMaxWidth(0);
tempColumn.setPreferredWidth(0);
y el mostrar seria:
TableColumn tempColumn=jTable1.getColumnModel().getColumn(19);
tempColumn.setMinWidth(jTable1.getWidth()/jTable1.getColumnCount());
tempColumn.setMaxWidth(jTable1.getWidth()/jTable1.getColumnCount());
tempColumn.setPreferredWidth(jTable1.getWidth()/jTable1.getColumnCount());
Bueno, pues na, espero que sea util y para cualquier duda por aqui andamos. Un saludo
muchisimas gracias por atender a mi pregunta tan rapido,ya lo probe y me funciono
Muy buen aporte, gracias.
hola utilizo
jTable1.removeColumn(jTable1.getColumnModel().getColumn(19));
para ocultar una columna pero necesito luego mostrarla y no encuentro la manera , en todo los lugares donde he buscado me aparece como oculta pero no como mostrar nuevamente, agradeceria ayuda