Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Como dar tamaño a columnas JTable

Hola amigos que tal?tengo una consulta con urgencia...el tema es el siguiente:
Tengo una JTable dinámica que me lista varias tablas por eso las columnas varían de 3 4 hasta 15 y con el ancho automático salen muy juntas y mi scrllpane horizontal no sale...he estado informándome y para darle formato a las celdas debo poner esta linea:

MiTabla.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

poniendo esa linea mi scrollpane horizontal aparece pero las columnas están muy pequeñas quiero darle tamaño fijo para que se vea ordenado espero puedan ayudarme saludos.

abril 11, 2014 | Unregistered CommenterMiguelP

Si quieres darle un tamaño fijo e idéntico a cada columna, puedes hacer ésto:

TableColumnModel columnModel = tabla.getColumnModel();
for (int i = 0; i < columnModel.getColumnCount(); i++) {
columnModel.getColumn(i).setPreferredWidth(200);
}

Si lo que quieres es darle un tamaño diferente a cada columna, solo tienes que escribir más código:

TableColumnModel columnModel = tabla.getColumnModel();
columnModel.getColumn(2).setPreferredWidth(200);
columnModel.getColumn(4).setPreferredWidth(100);

Y así sucesivamente.

abril 11, 2014 | Registered Commenterchoces

ohhhh siiii me salio queria darle tamaño fijo a las columnassss muchisimasss graciasss choces te lo agradesco pegue exactamente el mismo codigo y salio saludos =)

abril 11, 2014 | Unregistered CommenterMiguelP

Hola Se muy bien tu aporte. Muchas gracias por compartirlo. Una duda, en que parte lo agrego:
ableColumnModel columnModel = tabla.getColumnModel();
columnModel.getColumn(2).setPreferredWidth(200);
columnModel.getColumn(4).setPreferredWidth(100);
Saludos. Y nuevamente muchas gracias.

mayo 18, 2016 | Unregistered Commenterenrique

Lo colocas en el constructor del frame donde esta la tabla

junio 15, 2016 | Unregistered CommenterLuis Parra

Solo basta con identificar el nombre de tu variable JTable. En mi caso es listaFinal.

listaFinal.getColumnModel().getColumn(indexColumna).setMaxWidth(anchoPixeles);

noviembre 4, 2016 | Unregistered CommenterIng. Luis Enrique Ramos Cruz

¿Cómo fijo la columna que no se mueva para ningun lado?

mayo 19, 2017 | Unregistered Commenterberto

jTable.getTableHeader().setReorderingAllowed(false);

donde jTable es una instancia de JTable

https://docs.oracle.com/javase/8/docs/api/javax/swing/table/JTableHeader.html#reorderingAllowed

mayo 19, 2017 | Registered Commenterchoces

Disculpen, una pregunta: ¿cómo puedo hacer que un campo ocupe varias columnas? Algo así como un título general de varias celdas.

Y otra más: ¿puedo tener doble encabezado? es decir, debajo del campo como título (meses), tener los nombres de cada mes, uno en cada celda (|Ene|, |Feb|,...), funcionando éstos últimos como nombres de campos.
Saludos.

mayo 20, 2017 | Unregistered CommenterErik