JTable Zeilen einfärben

nusm2000

Mitglied
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;
}
}
 
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.

Java:
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
 
Zurück