¿Comó cambiarle color a las filas de un Jtable en java?
Muchas veces se necesita cambiarle de color a una tupla (filas) de una tabla para hacer distinción sobre algún aspecto que deseen mostrar, se los mostraré y a su vez como aumentar el ancho de cada celda en la tabla para observar mejor los datos mostrados.
Lo primero es crear una nueva clase dentro del paquete (No importa el nombre), esta es la que tendrá toda la lógica para implementación del color para la tabla. Luego ingresamos las importaciones que necesita la clase para que no tenga ningún problema, la cual se muestra en la siguiente imagen:
Para que la clase pueda ser utilizada por el jtable tiene que heredar de "DefaultTableCellRender" para que pueda renderizar la tabla. Luego colocaremos dos variables de tipo privadas y finales (porque estas nunca serán modificadas), las cuales son "bold" la cual servirá para cambiarle la letra a la fila o celda y la otra "STATUS_COL" sera el numero de columnas que tendrá nuestra tabla. Estos nombres pueden ser otros depende del usuario que las valla a asignar, como se muestra en la siguiente imagen:
Luego creamos un método donde estará el código que se le asignara el color a cada fila dependiendo lo que el programador desee. el nombre del método y sus parámetros son: "public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)".
Antes de colocar el código del método explicaremos lo que hará básicamente, lo que hace ese método es separar cada celda de la fila para saber que es lo que se obtiene luego para cambiarle el color a la fila se deberá colocar el texto o el valor que servirá de comparación para que cambie de color por ejemplo si el programador desea que todas las filas que contengan la palabra "stock" (tiene que existir esta columna) lo pinte de color rosado eso deberá colocar dentro de este método como les muestro en la siguiente imagen:
En mi caso compare que cada vez que en una fila encontrará la palabra "Consultado" lo pintará de color Azul. NOTA: Cabe destacar que se puede colocar el color en Hexadecimal o simplemente el nombre ("Black").
Y por ultimo para llamarla dentro del programa y se ejecute el código anterior, ingresamos el siguiente código donde se valla a ejecutar la tabla (En mi caso me servia cuando se llamaba al Form en el WindowsOpened).
Re: Es la instancia de la clase que utilice para el código anterior.
Y por último como les dije al principio, la siguiente línea de código es para hacer más anchos el tamaño de las celdas.
Comentarios
Publicar un comentario