Cambiando el tamaño de las columnas de un JTable

Por defecto al crear un JTable Java ajusta las columnas de la tabla de acuerdo a la información que contiene, en muchas ocasiones necesitaremos redimensionar estas columnas segun nuestros requerimientos.

Descarga el proyecto aquí

En seguida escribo un método que nos permitirá hacer esto de una manera fácil.

 1 /**
2 * Asignamos el ancho fijo para cada columna de la tabla.
3 */
4 private void setAnchoColumnas() {
5 int anchoTabla = 638; //Ancho del jScrollPane1.
6 int anchoColumna = 0, anchoColumnaMin = 0, anchoColumnaMax = 0;
7 //TableColumn nos provee de métodos para minimizar, maximizar,etc. columnas de tabla.
8 TableColumn columnaTabla = null;
9
10 for(int i=0; i<tblNombres.getColumnCount(); i++) {
11 //Obtenemos el modelo de las columnas de la tabla.
12 columnaTabla = tblNombres.getColumnModel().getColumn(i);
13
14 switch(i) {
15 case 0: anchoColumna = (20*anchoTabla)/100; //20 representa el porcentaje del ancho total
16 anchoColumnaMin = (20*anchoTabla)/100; //que ocupara la primera columna.
17 anchoColumnaMax = (20*anchoTabla)/100;
18 break;
19 case 1: anchoColumna = (35*anchoTabla)/100;
20 anchoColumnaMin = (35*anchoTabla)/100;
21 anchoColumnaMax = (35*anchoTabla)/100;
22 break;
23 case 2: anchoColumna = (35*anchoTabla)/100;
24 anchoColumnaMin = (35*anchoTabla)/100;
25 anchoColumnaMax = (35*anchoTabla)/100;
26 break;
27 case 3: anchoColumna = (10*anchoTabla)/100;
28 anchoColumnaMin = (10*anchoTabla)/100;
29 anchoColumnaMax = (10*anchoTabla)/100;
30 break;
31 }
32
33 //Aplicamos el ancho para cada columna de la tabla.
34 columnaTabla.setPreferredWidth(anchoColumna);
35 columnaTabla.setMinWidth(anchoColumnaMin);
36 columnaTabla.setMaxWidth(anchoColumnaMax);
37 }
38 }

Imagen de las columnas del JTable redimensionado del proyecto para descarga.



Espero que les sirva el ejemplo.

Recuerda: Si te ha servido el contenido del artículo y lo has utilizado, tu comentario de agradecimiento u opinión será bienvenido para continuar mejorando...

6 comentarios:

Anónimo dijo...

Felicidades por tus aportes. Te agradecería que nos explicaras la forma correcta de instalar java..lo he intentado pero no me convence o de alguna página donde lo pueda checar.. Gracias de antemano.

Abimael dijo...

Que tal, escribí una entrada sobre la instalación del JDK para plataformas Windows y empezar a programar en Java te dejo el vinculo.
http://javawebmas.blogspot.com/2011/02/instalando-jdk-para-programar-en-java.html

Espero te sirva. Saludos

WhiteSkull dijo...

Yo usaría una matriz en vez de usar un switch, reducirías mucho el código, imagina para 20 columnas !!!

Abimael dijo...

Si, gracias por la observación.

jbcv dijo...

tanto codigo?? ni que fueran miles de columnas.. solo era necesario una funcion que te haga todo ese trabajo :p

rené dijo...

me sirvio mucho gracias

Publicar un comentario

 
Codigo java & Diseño web - Netbeans - Jasper Report © 2010 | Volver arriba