Java - AWT/Swing

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();
      setOpaque(true);
      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()));
      }
      return this;
   }
}



Ein solcher CellRenderer kann dann der Tabelle zugewiesen werden:

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

Eigene Werkzeuge
Werkzeuge

gratis Counter by GOWEB
seit 9.10.2007