JTable Jeu De Couleur De La Cellule À La Valeur Spécifique

Je suis en train d'écrire une méthode qui, pour des paramètres donnés (la valeur, la couleur), définit la couleur sur l'arrière-plan d'une cellule qui a une valeur égale à cellValue.

Ce que ma méthode ne fait est, il définit la couleur sur le fond de l'une des cellules pour l'ensemble de la ligne et lorsque je sélectionne la ligne sur la table, et je veux méthode de définir les couleurs à la colonne (où cellValue est égale à la valeur) à chaque fois que j'appel de la méthode.

    void setCellBackgroundColor(boolean cellValue, final Color color) {
        List<List<Object>> data = tView.getTTableModel().getData();

        for (int row = 0; row < data.size(); row++) {
            for (int col = 0; col < data.get(row).size(); col++) {
                TableCellRenderer renderer = tView.table.getCellRenderer(row, Col);
                Component component = tView.table.prepareRenderer(renderer, row, col);
                boolean bValue = 
                    TDataTypeRenderer.parseIntoRealValue(
                        data.get(row).get(col)
                    )
                );
                if (bValue == cellValue) {
                    component.setBackground(color);
                }
    }
et prepareRenderer est bon et nécessaire de façons possibles (a colonne et les lignes de coordonnées), mais fait partie de la remplacer JTables méthodes qui n'ont pas de boucle à l'intérieur de la ligne & colonnes, résultat de moteur de rendu (prepareRenderer) devrait être une seule instance que des boucles à l'intérieur de la vue, note prepareRenderer déteste le vide JTables vue, ont pour tester si les lignes > 0 avant d'appeler le(s) est/sont peints

OriginalL'auteur Xerath | 2014-08-01