code: @Override
      public Component getTableCellRendererComponent(JTable table, Object value,
              boolean isSelected, boolean hasFocus, int row, int column) {
          super.getTableCellRendererComponent(table, value,
                  isSelected, hasFocus, row, column);
          JTableHeader tableHeader = table.getTableHeader();
          if (tableHeader != null) {
              setForeground(tableHeader.getForeground());
          }
          setIcon(getIcon(table, column));
          setBorder(UIManager.getBorder("TableHeader.cellBorder"));
          return this;
      }
docs: Returns the default table header cell renderer.
  <P>
  If the column is sorted, the approapriate icon is retrieved from the
  current Look and Feel, and a border appropriate to a table header cell is
  applied.
  <P>
  Subclasses may overide this method to provide custom content or
  formatting.
  
  @param table the <code>JTable</code>.
  @param value the value to assign to the header cell
  @param isSelected This parameter is ignored.
  @param hasFocus This parameter is ignored.
  @param row This parameter is ignored.
  @param column the column of the header cell to render
  @return the default table header cell renderer