Legen Sie die Hintergrundfarbe für die Zeile der JTable zur Laufzeit

Ich arbeite mit netbeans IDE7.4, ich bin das hinzufügen von Zeilen für die JTable zur Laufzeit, und jetzt will ich, um den hintergrund Farbe für eine bestimmte Zeile.

Nun das problem ist, dass wenn der Wert dieser Zeile geändert wird die Farbe der jeweiligen Zeile wird nicht geändert und wenn ich nach oben oder unten, der Tisch, der die änderungen übernommen werden.

Gewusst wie: aktualisieren Sie die Tabelle zur Laufzeit? Wie setzen Sie die Hintergrundfarbe von Zeile zur Laufzeit?

Dies ist der renderer-Klasse bin verwenden für die Färbung bestimmten Zeile:

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;

 }


 }

bin und die Zuordnung zu jtable so :

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

newViewTable ist der name von JTable.

  • Können Sie stellen einer lauffähigen Beispiel, das zeigt Ihr problem?
  • Für bessere Hilfe früher, poste ein MCTaRE (Minimal Getestet und Lesbar Beispiel).
  • Siehe die Antwort
  • Wie werden Sie die Tabelle zu aktualisieren,/Modell (so wird es ändern die Zelle rendering-Eigenschaften)?
  • Warum Folgen Sie nicht den Rat, den ich angeboten und nach ein MCTaRE eher als schlecht formatiert (nicht lesbar) - code, der nicht ausgeführt werden kann, und daher ist ein Beispiel der nichts?
InformationsquelleAutor user3331894 | 2014-03-20
Schreibe einen Kommentar