Javafx: TableView changement de ligne de couleur en fonction de la valeur de la colonne

J'ai le morceau de code suivant pour mettre à jour la couleur d'une cellule de colonne et de ligne:

    calltypel.setCellFactory(column -> {
        return new TableCell<CallLogs, String>() {
            @Override
            protected void updateItem(String item, boolean empty) {
                super.updateItem(item, empty);

                setText(empty ? "" : getItem().toString());
                setGraphic(null);

                TableRow currentRow = getTableRow();

                //This doesn't work
                if(item.equals("a")){
                    item.setTextFill(Color.RED);
                    currentRow.setTextFill(Color.PINK);
                    }
                else{
                    item.setTextFill(Color.GREEN);
                    currentRow.setTextFill(Color.BLUE);
                }

            }
        };
    });

Le segment de code de " si " condition ne fonctionne pas. Je ne suis pas en mesure d'identifier correctement les références à des objets et aussi quel est le meilleur moyen pour ce faire.

Merci!

l'élément est une Chaîne de sorte que vous ne peut pas faire de l'élément.setTextFill(). Au lieu d'appeler cette.setTextFill(). Ce qui se passe si une cellule est "une" et un autre pas, quelle sera la couleur de la ligne?
Dans les deux conditions, les couleurs sont différentes. Mais la ligne de coloration ne fonctionne pas. En effet, item.equals ne fonctionne pas.
J'ai essayé if (!isEmpty()) { this.setTextFill(Color.GREEN); if(item.equals("missed call")) this.setTextFill(Color.RED);} et cela fonctionne, mais ce n'est pas la façon dont je souhaite écrire if clause. Aussi, la façon de définir la couleur du texte pour l'ensemble de la ligne?

OriginalL'auteur Dilpreet Kaur | 2015-06-17