# TableCellRenderer soll ganze ausgewählte Zeile markieren



## Guest (31. Jan 2006)

Hallo, ich hab einen TableCellRenderer


```
public class MyTableCellRenderer extends JTextArea implements TableCellRenderer
{
	  public Component getTableCellRendererComponent( JTable table,
	    Object value, boolean isSelected, boolean hasFocus,
	    int row, int column )
	  {
		this.setBackground(row % 2 == 0 ?  new Color(237,243,254) : null );
		this.setText(value.toString());
            // Zeile markieren
	    if(isSelected || hasFocus)
	    	this.setBackground(Color.LIGHT_GRAY);
	    return this;
	  }
}
```
Damit wird jedoch nur die ausgewählte Zelle markiert, nicht die ganze Teile, ich komm da nicht weiter  ???:L [/code]


----------



## André Uhres (31. Jan 2006)

```
...
        // prepareRenderer überschreiben:
        table = new JTable( model ) {
            public Component prepareRenderer(
                    TableCellRenderer renderer, int row, int column) {
                Component c = super.prepareRenderer(renderer, row, column);
                if (!isRowSelected(row))
                    c.setBackground(row % 2 == 0 ?  new Color(237,243,254) : null );
                else
                    c.setBackground(table.getSelectionBackground());
                return c;
            }
        };
...
    public class MyTableCellRenderer extends JTextArea implements TableCellRenderer {
        public Component getTableCellRendererComponent( JTable table,
                Object value, boolean isSelected, boolean hasFocus,
                int row, int column ) {
            setText(value.toString());
            setBorder(hasFocus ? selected : null);
            return this;
        }
        private Border selected = UIManager.getBorder("Table.focusCellHighlightBorder");
    }
...
```


----------



## Gast (31. Jan 2006)

Funktioniert, danke


----------

