Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Mostrar columnas ocultas de un jTable

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

febrero 6, 2017 | Registered Commenterlmarrero

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

febrero 6, 2017 | Registered Commenterloderain

muchisimas gracias por atender a mi pregunta tan rapido,ya lo probe y me funciono

febrero 7, 2017 | Registered Commenterlmarrero

Muy buen aporte, gracias.

febrero 23, 2024 | Unregistered CommenterMe