Class JDayChooser

All Implemented Interfaces:
ActionListener, FocusListener, KeyListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible

public class JDayChooser extends JPanel implements ActionListener, KeyListener, FocusListener
JDayChooser is a bean for choosing a day.
Version:
$LastChangedRevision: 107 $, $LastChangedDate: 2009-05-01 15:48:00 +0200 (Fr, 01 Mai 2009) $
Author:
Kai Toedter
See Also:
  • Field Details

  • Constructor Details

    • JDayChooser

      public JDayChooser()
      Default JDayChooser constructor.
    • JDayChooser

      public JDayChooser(boolean weekOfYearVisible)
      JDayChooser constructor.
      Parameters:
      weekOfYearVisible - true, if the weeks of a year shall be shown
  • Method Details

    • init

      protected void init()
      Initilizes the locale specific names for the days of the week.
    • drawDayNames

      private void drawDayNames()
      Draws the day names of the day columnes.
    • initDecorations

      protected void initDecorations()
      Initializes both day names and weeks of the year.
    • drawWeeks

      protected void drawWeeks()
      Hides and shows the week buttons.
    • drawDays

      protected void drawDays()
      Hides and shows the day buttons.
    • getLocale

      public Locale getLocale()
      Returns the locale.
      Overrides:
      getLocale in class Component
      Returns:
      the locale value
      See Also:
    • setLocale

      public void setLocale(Locale locale)
      Sets the locale.
      Overrides:
      setLocale in class Component
      Parameters:
      locale - the new locale value
      See Also:
    • setDay

      public void setDay(int d)
      Sets the day. This is a bound property.
      Parameters:
      d - the day
      See Also:
    • setAlwaysFireDayProperty

      public void setAlwaysFireDayProperty(boolean alwaysFire)
      this is needed for JDateChooser.
      Parameters:
      alwaysFire - true, if day property shall be fired every time a day is chosen.
    • getDay

      public int getDay()
      Returns the selected day.
      Returns:
      the day value
      See Also:
    • getMonth

      public int getMonth()
      Returns the selected month.
      Returns:
      the month value
      See Also:
    • getYear

      public int getYear()
      Returns the selected year.
      Returns:
      the year value
      See Also:
    • setMonth

      public void setMonth(int month)
      Sets a specific month. This is needed for correct graphical representation of the days.
      Parameters:
      month - the new month
    • setYear

      public void setYear(int year)
      Sets a specific year. This is needed for correct graphical representation of the days.
      Parameters:
      year - the new year
    • setCalendar

      public void setCalendar(Calendar calendar)
      Sets a specific calendar. This is needed for correct graphical representation of the days.
      Parameters:
      calendar - the new calendar
    • setFont

      public void setFont(Font font)
      Sets the font property.
      Overrides:
      setFont in class JComponent
      Parameters:
      font - the new font
    • setForeground

      public void setForeground(Color foreground)
      Sets the foregroundColor color.
      Overrides:
      setForeground in class JComponent
      Parameters:
      foreground - the new foregroundColor
    • actionPerformed

      public void actionPerformed(ActionEvent e)
      JDayChooser is the ActionListener for all day buttons.
      Specified by:
      actionPerformed in interface ActionListener
      Parameters:
      e - the ActionEvent
    • focusGained

      public void focusGained(FocusEvent e)
      JDayChooser is the FocusListener for all day buttons. (Added by Thomas Schaefer)
      Specified by:
      focusGained in interface FocusListener
      Parameters:
      e - the FocusEvent
    • focusLost

      public void focusLost(FocusEvent e)
      Does nothing.
      Specified by:
      focusLost in interface FocusListener
      Parameters:
      e - the FocusEvent
    • keyPressed

      public void keyPressed(KeyEvent e)
      JDayChooser is the KeyListener for all day buttons. (Added by Thomas Schaefer and modified by Austin Moore)
      Specified by:
      keyPressed in interface KeyListener
      Parameters:
      e - the KeyEvent
    • keyTyped

      public void keyTyped(KeyEvent e)
      Does nothing.
      Specified by:
      keyTyped in interface KeyListener
      Parameters:
      e - the KeyEvent
    • keyReleased

      public void keyReleased(KeyEvent e)
      Does nothing.
      Specified by:
      keyReleased in interface KeyListener
      Parameters:
      e - the KeyEvent
    • setEnabled

      public void setEnabled(boolean enabled)
      Enable or disable the JDayChooser.
      Overrides:
      setEnabled in class JComponent
      Parameters:
      enabled - The new enabled value
    • isWeekOfYearVisible

      public boolean isWeekOfYearVisible()
      In some Countries it is often usefull to know in which week of the year a date is.
      Returns:
      boolean true, if the weeks of the year is shown
    • setWeekOfYearVisible

      public void setWeekOfYearVisible(boolean weekOfYearVisible)
      In some Countries it is often usefull to know in which week of the year a date is.
      Parameters:
      weekOfYearVisible - true, if the weeks of the year shall be shown
    • getDayPanel

      public JPanel getDayPanel()
      Returns the day panel.
      Returns:
      the day panel
    • getDecorationBackgroundColor

      Returns the color of the decoration (day names and weeks).
      Returns:
      the color of the decoration (day names and weeks).
    • setDecorationBackgroundColor

      public void setDecorationBackgroundColor(Color decorationBackgroundColor)
      Sets the background of days and weeks of year buttons.
      Parameters:
      decorationBackgroundColor - The background to set
    • getSundayForeground

      Returns the Sunday foreground.
      Returns:
      Color the Sunday foreground.
    • getWeekdayForeground

      Returns the weekday foreground.
      Returns:
      Color the weekday foreground.
    • setSundayForeground

      public void setSundayForeground(Color sundayForeground)
      Sets the Sunday foreground.
      Parameters:
      sundayForeground - The sundayForeground to set
    • setWeekdayForeground

      public void setWeekdayForeground(Color weekdayForeground)
      Sets the weekday foreground.
      Parameters:
      weekdayForeground - The weekdayForeground to set
    • setFocus

      public void setFocus()
      Requests that the selected day also have the focus.
    • isDecorationBackgroundVisible

      The decoration background is the background color of the day titles and the weeks of the year.
      Returns:
      Returns true, if the decoration background is painted.
    • setDecorationBackgroundVisible

      public void setDecorationBackgroundVisible(boolean decorationBackgroundVisible)
      The decoration background is the background color of the day titles and the weeks of the year.
      Parameters:
      decorationBackgroundVisible - true, if the decoration background shall be painted.
    • isDecorationBordersVisible

      public boolean isDecorationBordersVisible()
      The decoration border is the button border of the day titles and the weeks of the year.
      Returns:
      Returns true, if the decoration border is painted.
    • isDayBordersVisible

      public boolean isDayBordersVisible()
    • setDecorationBordersVisible

      public void setDecorationBordersVisible(boolean decorationBordersVisible)
      The decoration border is the button border of the day titles and the weeks of the year.
      Parameters:
      decorationBordersVisible - true, if the decoration border shall be painted.
    • setDayBordersVisible

      public void setDayBordersVisible(boolean dayBordersVisible)
    • updateUI

      public void updateUI()
      Updates the UI and sets the day button preferences.
      Overrides:
      updateUI in class JPanel
    • setSelectableDateRange

      public void setSelectableDateRange(Date min, Date max)
      Sets a valid date range for selectable dates. If max is before min, the default range with no limitation is set.
      Parameters:
      min - the minimum selectable date or null (then the minimum date is set to 01\01\0001)
      max - the maximum selectable date or null (then the maximum date is set to 01\01\9999)
    • setMaxSelectableDate

      Sets the maximum selectable date. If null, the date 01\01\9999 will be set instead.
      Parameters:
      max - the maximum selectable date
      Returns:
      the maximum selectable date
    • setMinSelectableDate

      Sets the minimum selectable date. If null, the date 01\01\0001 will be set instead.
      Parameters:
      min - the minimum selectable date
      Returns:
      the minimum selectable date
    • getMaxSelectableDate

      Gets the maximum selectable date.
      Returns:
      the maximum selectable date
    • getMinSelectableDate

      Gets the minimum selectable date.
      Returns:
      the minimum selectable date
    • getMaxDayCharacters

      public int getMaxDayCharacters()
      Gets the maximum number of characters of a day name or 0. If 0 is returned, dateFormatSymbols.getShortWeekdays() will be used.
      Returns:
      the maximum number of characters of a day name or 0.
    • setMaxDayCharacters

      public void setMaxDayCharacters(int maxDayCharacters)
      Sets the maximum number of characters per day in the day bar. Valid values are 0-4. If set to 0, dateFormatSymbols.getShortWeekdays() will be used, otherwise theses strings will be reduced to the maximum number of characters.
      Parameters:
      maxDayCharacters - the maximum number of characters of a day name.
    • main

      public static void main(String[] s)
      Creates a JFrame with a JDayChooser inside and can be used for testing.
      Parameters:
      s - The command line arguments