jueves, 13 de diciembre de 2012

Colorear columnas facil y rapido en un JTable con java


Hace undíaun amigo de facebook me solicitud un ejemplo de como añadir color a las columnas que se desee,pues existen varias formas de hacerlo la masfácilqueconozcoes llamar almétodosetDefaultRenderer() del JTableque nos recibe la clase encargada de modificar o alterar el color de las columnas pero esta clase no solo leservirápara los colores para muchas cosas que usted desee personalizar del JTable las cuales le mostrare mas adelante.

la claseDefaultTableCellRenderer : sirve para representar visualmente lascélulasindividuales de un JTable ademas hereda un JLabel por medio de este Label utilizaremosmétodospara modificar el aspecto o larepresentacióndel JTable.

¿Como pinto las columnas del JTable?
para eso utilizamos la claseDefaultTableCellRenderer dentro de la misma clase del JTable una vez contruida la claseDefaultTableCellRenderer construiremos elmétodogetTableCellRendererComponent() ,estemétodonos recibe valores como:
final JTable table, Object value, boolean selected, boolean focused, int row, int column, y retorna un valorComponent .



public Component getTableCellRendererComponent (final JTable table, Object value, boolean selected, boolean focused, int row, int column){
super.getTableCellRendererComponent(table, value, selected, focused, row, column);
table.setColumnSelectionAllowed(true);

if (column == 0 || column == 2){ //EL NUMERO DE LA COLUMNA QUE DESEAMOS PINTAR
setBackground(new Color(9, 187, 232));
}
else{
setBackground(new Color(255, 255, 255));//EL COLOR DEL RESTO DE LAS COLUMNAS
}
/*************************************/
setForeground(Color.black);
return this;
}

comopodráobservar tengo un control donde indico que columnas quiero que se pinten, la columna 0 y la columna 2 son las que tienen que llevar color celeste, caso contrario el resto de las columnas llevaran otro color que las represente.

DESCARGAR




No hay comentarios:

Publicar un comentario