/** Set the font used to display today's date as text. */
  protected void setupTodayFont() {
    Font font;
    if (todaysLabel == null) return;

    // If not null, use what the user gave us

    if (todayFont != null) {
      todaysLabel.setFont(todayFont);
    } else {
      font = UIManager.getFont("Label.font");
      todaysLabel.setFont(font);
    }
  }
  /** Set the time spinner's font. */
  protected void setupTimeFont() {
    Font font;
    if (spinner == null) return;

    // If not null, use what the user gave us

    if (timeFont != null) {
      spinner.setFont(timeFont);
    } else {
      font = UIManager.getFont("Spinner.font");
      spinner.setFont(font);
    }
  }
  /** Set the title's font. */
  protected void setupTitleFont() {
    Font font;
    if (monthYearLabel == null) return;

    // If not null, use what the user gave us

    if (titleFont != null) {
      monthYearLabel.setFont(titleFont);
    }

    // Otherwise, use the L&F default for a label

    else {
      font = UIManager.getFont("Label.font");
      monthYearLabel.setFont(font);
    }
  }
  /** Set the day-of-week labels' font. */
  protected void setupDayOfWeekFonts() {
    Font font;
    if (dayOfWeekLabels == null) return;

    // If not null, use what the user gave us

    font = dayOfWeekFont;

    // Otherwise, use 9/11 of the L&F default for a label

    if (font == null) {
      font = UIManager.getFont("Label.font");
      font = font.deriveFont((float) (font.getSize2D() * 9.0 / 11.0));
    }

    // Set the day of week labels' font

    for (int day = 0; day < 7; day++) {
      dayOfWeekLabels[day].setFont(font);
    }
  }
  /** Set the day labels' font. */
  protected void setupDayFonts() {
    Font font;
    if (dayButtons == null) return;

    // If null, use what the user gave us

    font = dayFont;

    // Otherwise, use 9/11 of the L&F default for a button

    if (font == null) {
      font = UIManager.getFont("Button.font");
      font = font.deriveFont((float) (font.getSize2D() * 9.0 / 11.0));
    }

    // Set the day labels' font

    for (int row = 0; row < 6; row++) {
      for (int day = 0; day < 7; day++) {
        dayButtons[row][day].setFont(font);
      }
    }
  }