@Override
    public Component getTableCellRendererComponent (JTable table,
      Object obj, boolean isSelected, boolean hasFocus, int row, int column) {
      Component cell = super.getTableCellRendererComponent(
                       table, obj, isSelected, hasFocus, row, column);
      if (obj != null) {
        // клітинки попереднього та наступного місяця на сірому тлі
        int p = (row * 7) + column;
        if (p < posfirst | p > poslast) {
          cell.setBackground(Color.lightGray);
        } else {
          // вибрана клітинка на зеленому тлі
          if (hasFocus) {
            cell.setBackground(Color.green);
          } else {
            //
            GregorianCalendar c1 = new GregorianCalendar();
            c1.setTime(selectedDate.getTime());
            c1.set(Calendar.DAY_OF_MONTH, (Integer) obj);
            if ( c1.equals(now) ) {
              // "сьогодні" на жовтому тлі
              cell.setBackground(Color.yellow);
            } else {
              // клітинки поточного місяця на білому тлі
              cell.setBackground(Color.white);
            }
              /*if ( jbPeriod.isSelected() & c1.equals(startperiod) ) {
              // початок періоду на голубому тлі
              cell.setBackground(Color.cyan);
            } else {
            } */
          }
        }
        if (column == 5) {
          // субота
          cell.setForeground(Color.blue);
        }
        if (column == 6) {
          // неділя
          cell.setForeground(Color.red);
        }
      }
      return cell;
    }