tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
1
ZUGRIFFE
783
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    MScalli MScalli ist offline Mitglied Gold
    Registriert seit
    Aug 2007
    Beiträge
    227
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
          // 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
     

  2. #2
    MScalli MScalli ist offline Mitglied Gold
    Registriert seit
    Aug 2007
    Beiträge
    227
    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
     

Ähnliche Themen

  1. JTable Zeilen einfärben nach Bedingung
    Von eraser666 im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 11.11.10, 10:18
  2. JTable einfärben bei Änderung
    Von salzkrebs im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 15
    Letzter Beitrag: 25.08.09, 13:04
  3. JTable Zelle gezielt einfärben
    Von ProggYLouie im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 4
    Letzter Beitrag: 12.03.05, 17:43
  4. Tabellen Zeile Einfärben
    Von manuko im Forum CSS
    Antworten: 5
    Letzter Beitrag: 25.02.05, 18:31
  5. JTable: Vergleich zweier Spalten und Einfärben mit CellRenderer
    Von stookie im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 4
    Letzter Beitrag: 30.11.04, 08:53