Définir la couleur de fond pour la ligne particulière de JTable au moment de l'exécution

Je travaille avec netbeans IDE7.4, je suis d'ajouter des lignes à la JTable au moment de l'exécution, et maintenant je veux mettre en couleur d'arrière-plan pour une ligne particulière.

Maintenant, le problème est que lorsque la valeur de cette ligne est changé la couleur de cette ligne particulière est pas changé, et quand j'ai faites défiler vers le haut ou le bas de la table, les modifications sont appliquées.

Comment actualiser le tableau au moment de l'exécution? Comment définir la couleur d'arrière-plan de ligne particulière au moment de l'exécution?

C'est classe de rendu suis à l'aide de la coloration de ligne particulière:

public class MyCellRenderer extends javax.swing.table.DefaultTableCellRenderer
    {         
public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, java.lang.Object value, boolean isSelected,     boolean hasFocus, int row, int column)
   {
   final java.awt.Component cellComponent = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row,        column);

     Object val=table.getValueAt(row, 2);
     String sval=val.toString();
     sval=sval.replaceAll(":","");
     int ival=Integer.parseInt(sval);
  if(ival==0) 
    {  
        cellComponent.setForeground(Color.black);          
        cellComponent.setBackground(Color.red);              

    }      
    else  
    {      
        cellComponent.setBackground(Color.white);      
        cellComponent.setForeground(Color.black);      
    }    
    if (isSelected)
   {
    cellComponent.setForeground(table.getSelectionForeground());                             cellComponent.setBackground(table.getSelectionBackground());
   }


      return cellComponent;

 }


 }

et je suis en assignant à la jtable comme ceci :

    newViewTable.setDefaultRenderer(Object.class,new MyCellRenderer());

newViewTable est le nom de la JTable.

  • Pouvez-vous fournir un exécutable exemple qui illustre votre problème?
  • Pour mieux aider plus tôt, post un MCTaRE (Minime Complète Testé et Lisible par Exemple).
  • Voir cette réponse
  • Comment êtes-vous mise à jour de la table/modèle (donc il va changer la cellule rendu caractéristiques)?
  • Pourquoi ne pas suivre les conseils que je lui ai offert et après un MCTaRE plutôt que de mal formaté (illisible) du code qui ne peut pas être exécuté, et est donc un exemple de rien?
InformationsquelleAutor user3331894 | 2014-03-20