JTable Zeile einfärben macht Probleme

MScalli

Erfahrenes Mitglied
Hi

Ich habe da ein kleines Prob mit einer Tabelle, kann mir wer helfen?
Um bei meiner Tabelle die Zeilen farbig hervorzuheben in denen das Datum älter ist als heute (currentDate)
gehe ich so vor

Code:
      // CellRenderer benutzen um Zeilen deren Datum in Spalte 3 kleiner ist als CurrentDate einzufärben
      table.setDefaultRenderer( Object.class, new DefaultTableCellRenderer(){ 
	  private static final long serialVersionUID = 1L;

	  public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row,
			  	 int column) {
               super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
               
               // Daten in Integer Form YYYYMMDD bringen um vergleichen zu können
        	   int compareDate = Integer.parseInt(MyDate.convertDateDB_to_DateyyyyMMtt(table.getValueAt(row, 3).toString()));
        	   int currentDate = Integer.parseInt(MyDate.getCurrentDateJJJJMMTT());
                
    		   if (compareDate < currentDate) {
    			   
    			   setBackground(new Color(255,157,0));
    		   }
    		   else {

    			   setBackground(Color.WHITE);
    		   }

    		   setOpaque(true);
    		   return this;
    		  
           }
     });

jetzt habe ich das Problem das die Farbsetztung beim markieren usw. ja auch überschrieben wird.
hab schon rumprobiert mit if(hasFocus) ... und dann keine farbe setzten, aber das ist dann immer
Zellen und nicht Spaltenweise.
Wie bringe ich es hin das sie Tabelle beim Selektieren/Markieren ihre alten eigenschaften behält
(markierte Zeilen bleiben gelb.. also in meinem fall).

Ich steh heut bisschen auf dem schlauch plz help

Grus

MScalli
 
OK. hat sich erledigt.
Ich hab krampfhaft versucht das falsche abzufragen ^^

natürlich muss ich if(isSelected) sagen..
na ja.. es gibt tage die gibts einfach nicht :)
 
Zurück