Dies ist eine alte Version des Dokuments!


JTable, wechselnde Zeilenfarbe mit TableCellRenderer

JTable bietet die Möglichkeit die Darstellung einer Tabelle mittels eines TableCellRenderer zu verändern:

public class MyRenderer extends JLabel implements TableCellRenderer {
   public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
      TableModel model = table.getModel();
      setBackground(row%2==0?Color.WHITE:Color.YELLOW);
      setForeground(Color.BLACK);
      setText((value != null)?value.toString():"");
      if (isSelected) {
         setBorder(BorderFactory.createLineBorder(Color.BLACK));
      }else {
         setBorder(BorderFactory.createLineBorder(table.getBackground()));
      }
}

Ein solcher CellRenderer kann dann der Tabelle zugewiesen werden:

myTable.setDefaultRenderer(Object.class, new MyRenderer());

Eigene Werkzeuge
Werkzeuge

gratis Counter by GOWEB
seit 9.10.2007