# JTable Zeilen einfärben



## nusm2000 (6. April 2011)

Hallo,

habe folgendes Problem, ich möchte bestimmte Zeilen in einer jtable einfärben. 
habe dieses Beispiel gefunden. Aber leider werden alle Zeilen in der jenigen Farbe eingefärbt..., hat jemand eine Lösung dafür?

grüße

public class ScoreTableCellRenderer extends DefaultTableCellRenderer {

public Component getTableCellRendererComponent(JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column) {

super.getTableCellRendererComponent(table, value, isSelected,
hasFocus, row, column);

if (row % 6 < 3) {

setBackground(new Color(255, 255, 200));
}
else {

setBackground(Color.WHITE);
}

return this;
}
}


----------



## Akeshihiro (6. April 2011)

Musst die Bedingung in der if-Abfrage an deine Situation anpassen. Sonst wüsste ich so auch nix.


----------



## MiMi (6. April 2011)

Code bitte in code-tags (java-tags) posten 

Also entweder wie bereits erwaehnt, passt du die if- so an, dass deine jeweiligen Zeilen dann gefaerbt werden. Oder du schaust nach dem Inhalt und bei bestimmtem Inhalt faerbst du die Zelle
Hab mal nen Beispiel (Link) rausgesucht. 


```
public Component getTableCellRendererComponent(  
JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int col){
     Component comp = super.getTableCellRendererComponent(
                      table,  value, isSelected, hasFocus, row, col);

     String s =  table.getModel().getValueAt(row, VALIDATION_COLUMN ).toString();

     if(s.equalsIgnoreCase("Fail"))      {
         comp.setForeground(Color.red);
     }
     else  {
         comp.setForeground(null);
     }

     return( comp );
 }
```

Hier scheint auch noch ein gutes Beispiel zu sein: Beispiel 2


----------

