Alternar colores de cada fila en un JTable | Java

Alternar colores en las filas de una tabla puede ayudar a evitar confusiones en una lista grande de elementos para eso JTable nos permite utilizar métodos y sobreescribirlos para ver una tabla de este tipo:
JTable Alternate Rows
Para lograr que nuestra tabla muestre filas alternadas de diferente color solo necesitamos sobreescribir la función prepareRenderer.
new JTable(){
    @Override
    public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
        Component component = super.prepareRenderer(renderer, row, column);
        Color alternateColor = new Color(240, 248, 255);
        Color defaultColor = new JTable().getBackground();
        if (!component.getBackground().equals(getSelectionBackground())) {
            component.setBackground(row % 2 == 0 ? alternateColor : defaultColor);
        }
        return component;
    }
};
Este es un ejemplo bastante simple de como podemos alternar colores en nuestra JTable; primero instanciamos una JTable y dentro de ella llamamos a la función prepareRenderer con @Override para sobreescribir la función, después definimos un componente que va a ser igual al de la JTable, como sigue declaramos los colores que deseamos, finalmente comprobamos que el background del componente que tenemos sea diferente a la selección de las celdas y utilizamos módulo para saber si es par la fila.

Comentarios

Entradas populares