Java - Ocultar Columnas JTable

 
Vista:

Ocultar Columnas JTable

Publicado por Eduardo (144 intervenciones) el 23/09/2010 16:55:25
Hola, tengo una jtable creada a partir del modelo DefaultTableModel y cada fila que pinto contiene una serie de datos, además del id. Necesito poder dejar oculta esta columna, ya que no es información que el usuario tenga por qué saberla.
Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Ocultar Columnas JTable

Publicado por octavio (74 intervenciones) el 03/10/2010 20:56:25
Una forma facil pero no muy eficiente es copiar todos los datos a un nuevo JTable pero sin la columna que deseas, para eso deberias crear un nuevo DefaultTableModel copiando todos los datos menos la columna que deseas ocultar y luego setear el modelo al JTable con el metodo setModel del JTable.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ocultar Columnas JTable

Publicado por Eduardo (144 intervenciones) el 03/10/2010 23:46:51
Hola y gracias por responder. Necesito poder acceder a esa columna que quiero ocultar. Si hago lo que tu me dices, como accedo a esa columna.
Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ocultar Columnas JTable

Publicado por Gilberto (1 intervención) el 07/12/2011 23:05:34
Que tal.

Un poco tarde la respuesta, pero estoy seguro de que a alguien le servirá. Muchos optan por reducir el ancho de la columna a 0. Así no se ve y esta disponibles. P.e.

1
2
3
4
...
jTblReservaciones.getColumnModel().getColumn(7).setPreferredWidth(0);
jTblReservaciones.getColumnModel().getColumn(8).setPreferredWidth(0);
...



Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ocultar Columnas JTable

Publicado por Carmelo (1 intervención) el 14/02/2013 18:29:07
No está mal, pero intentaré buscar la forma de tener una vista distinta al modelo.

Gracias!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ocultar Columnas JTable

Publicado por Danny Gutiérrez (1 intervención) el 22/02/2013 19:07:27
La forma correcta es usando…

jTable.removeColumn(ListadoTable.getColumnModel().getColumn(1));

ya que con el width solo la hacemos más pequeña y puede visualizarse si hacemos un resize de una columna adjunta.

Esto no hace que se pierda su valor de columna.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ocultar Columnas JTable

Publicado por Derlis (1 intervención) el 04/10/2014 23:18:08
Correcta tu respuesta, pero como puedo obtener el valor de la columna oculta? lo he intentado con por ejemplo, jtDetalleVenta.getValueAt(i, 5).toString();, pero me cuelga el sistema.

Agradecere tu respuesta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ocultar Columnas JTable

Publicado por Oundroni (1 intervención) el 09/11/2014 12:43:11
Veo que la mayoría de las respuestas olvida una obviedad, es hacer que la columna de ancho 0 no se pueda redimensionar.

miTabla.getColumnModel().getColumn(número de columna).setResizable(false);

No recomiendo utilizar 'removeColumn' porque se ignorará su posición ya que el programa cree que tiene menos columnas y dará muchísimos problemas. La solución es hacerla de ancho 0 e impedir que se redimensione.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ocultar Columnas JTable

Publicado por Manu (1 intervención) el 14/06/2016 20:48:06
LO TENGO CHIC@S! Hay que modificar tambien el Header. Y tampoco hace falta tocar el preferredWidth

1
2
3
4
JTable.getColumnModel().getColumn(5).setMaxWidth(0);
JTable.getColumnModel().getColumn(5).setMinWidth(0);
JTable.getTableHeader().getColumnModel().getColumn(5).setMaxWidth(0);
JTable.getTableHeader().getColumnModel().getColumn(5).setMinWidth(0);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
7
Comentar
sin imagen de perfil

Ocultar Columnas JTable

Publicado por angel (1 intervención) el 08/07/2017 02:17:54
ASÍ TAMBIÉN OCULTAS UNA COLUMNA

1
2
3
Tabla_Datos.getColumnModel().getColumn(7).setMaxWidth(0);
Tabla_Datos.getColumnModel().getColumn(7).setMinWidth(0);
Tabla_Datos.getColumnModel().getColumn(7).setPreferredWidth(0);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 3
Ha aumentado su posición en 10 puestos en Java (en relación al último mes)
Gráfica de Java

Ocultar Columnas JTable

Publicado por César Domingo (1 intervención) el 30/07/2018 07:42:35
Gracias, me fue muy útil
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ocultar Columnas JTable

Publicado por Janethochoa (1 intervención) el 25/09/2018 16:18:26
Muchas gracias!!! fue de la manera que me funciono.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ocultar Columnas JTable

Publicado por José ruiz (2 intervenciones) el 09/03/2019 02:07:53
Muchas gracias...perfecto... y será complicado poner color filas de x medio?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ocultar Columnas JTable

Publicado por Cristian (1 intervención) el 07/03/2023 17:33:55
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
 
/**
 *
 * @author Usuario
 */
public class Renderer extends DefaultTableCellRenderer {
 
    private static final long serialVersionUID = 1L;
 
    @Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        if (row % 2 == 0) {
            setBackground(Color.LIGHT_GRAY);
            setForeground(Color.BLACK);
 
        } else {
            setBackground(Color.WHITE);
            setForeground(Color.BLACK);
        }
 
        return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); //To change body of generated methods, choose Tools | Templates.
    }
 
}
A mi con esta funcoin me salio, solo tenes que cambiar el color de la letra y de la celda al que te guste
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ocultar Columnas JTable

Publicado por Martnz (1 intervención) el 13/08/2020 08:09:39
Muchas gracias por el aporte valla que fuinciona!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ocultar Columnas JTable

Publicado por Yuliana (2 intervenciones) el 17/01/2018 20:55:58
muchas gracias... esto me funcionó.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ocultar Columnas JTable

Publicado por Haziel Castillo (1 intervención) el 21/01/2018 07:25:14
Justo lo que estaba buscando, muchisimas gracias :D !!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ocultar Columnas JTable

Publicado por Jesus (1 intervención) el 04/10/2023 19:30:01
Llegue a pensar que no se podia ocultar las celdas, ya que es una utilidad muy practica para no estar lanzando consultas innecesarias sobre la base de datos, la solucion es espectacular, lo hice igual pero no pense en las cabeceras, felicitaciones y muchas gracias :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar