com.toedter.calendar
Class JDateChooser
JPanel
com.toedter.calendar.JDateChooser
- ActionListener, PropertyChangeListener
public class JDateChooser
extends JPanel
implements ActionListener, PropertyChangeListener
A date chooser containig a date editor and a button, that makes a JCalendar
visible for choosing a date. If no date editor is specified, a
JTextFieldDateEditor is used as default.
$LastChangedRevision: 101 $, $LastChangedDate: 2006-06-04 14:42:29 +0200 (So, 04 Jun 2006) $
calendarButton
protected JButton calendarButton
dateSelected
protected boolean dateSelected
isInitialized
protected boolean isInitialized
lastSelectedDate
protected Date lastSelectedDate
popup
protected JPopupMenu popup
JDateChooser
public JDateChooser()
Creates a new JDateChooser. By default, no date is set and the textfield
is empty.
JDateChooser
public JDateChooser(Date date)
Creates a new JDateChooser.
JDateChooser
public JDateChooser(Date date,
String dateFormatString)
Creates a new JDateChooser.
date
- the date or nulldateFormatString
- the date format string or null (then MEDIUM SimpleDateFormat
format is used)
JDateChooser
public JDateChooser(Date date,
String dateFormatString,
IDateEditor dateEditor)
Creates a new JDateChooser.
date
- the date or nulldateFormatString
- the date format string or null (then MEDIUM SimpleDateFormat
format is used)dateEditor
- the dateEditor to be used used to display the date. if null, a
JTextFieldDateEditor is used.
JDateChooser
public JDateChooser(String datePattern,
String maskPattern,
char placeholder)
Creates a new JDateChooser. If the JDateChooser is created with this
constructor, the mask will be always visible in the date editor. Please
note that the date pattern and the mask will not be changed if the locale
of the JDateChooser is changed.
datePattern
- the date pattern, e.g. "MM/dd/yy"maskPattern
- the mask pattern, e.g. "##/##/##"placeholder
- the placeholer charachter, e.g. '_'
JDateChooser
public JDateChooser(IDateEditor dateEditor)
Creates a new JDateChooser with given IDateEditor.
dateEditor
- the dateEditor to be used used to display the date. if null, a
JTextFieldDateEditor is used.
JDateChooser
public JDateChooser(JCalendar jcal,
Date date,
String dateFormatString,
IDateEditor dateEditor)
Creates a new JDateChooser.
jcal
- the JCalendar to be useddate
- the date or nulldateFormatString
- the date format string or null (then MEDIUM Date format is
used)dateEditor
- the dateEditor to be used used to display the date. if null, a
JTextFieldDateEditor is used.
actionPerformed
public void actionPerformed(ActionEvent e)
Called when the jalendar button was pressed.
cleanup
public void cleanup()
Should only be invoked if the JDateChooser is not used anymore. Due to popup
handling it had to register a change listener to the default menu
selection manager which will be unregistered here. Use this method to
cleanup possible memory leaks.
getCalendar
public Calendar getCalendar()
Returns the calendar. If the JDateChooser is started with a null date (or
null calendar) and no date was set by the user, null is returned.
getCalendarButton
public JButton getCalendarButton()
Returns the calendar button.
getDate
public Date getDate()
Returns the date. If the JDateChooser is started with a null date and no
date was set by the user, null is returned.
getDateEditor
public IDateEditor getDateEditor()
Returns the date editor.
getDateFormatString
public String getDateFormatString()
Gets the date format string.
- Returns the dateFormatString.
getJCalendar
public JCalendar getJCalendar()
Returns the JCalendar component. THis is usefull if you want to set some
properties.
getMaxSelectableDate
public Date getMaxSelectableDate()
Gets the maximum selectable date.
- the maximum selectable date
getMinSelectableDate
public Date getMinSelectableDate()
Gets the minimum selectable date.
- the minimum selectable date
isEnabled
public boolean isEnabled()
Returns true, if enabled.
main
public static void main(String[] s)
Creates a JFrame with a JDateChooser inside and can be used for testing.
s
- The command line arguments
propertyChange
public void propertyChange(PropertyChangeEvent evt)
Listens for a "date" property change or a "day" property change event
from the JCalendar. Updates the date editor and closes the popup.
setCalendar
public void setCalendar(Calendar calendar)
Sets the calendar. Value null will set the null date on the date editor.
setDate
public void setDate(Date date)
Sets the date. Fires the property change "date" if date != null.
setDateFormatString
public void setDateFormatString(String dfString)
Sets the date format string. E.g "MMMMM d, yyyy" will result in "July 21,
2004" if this is the selected date and locale is English.
dfString
- The dateFormatString to set.
setEnabled
public void setEnabled(boolean enabled)
Enable or disable the JDateChooser.
enabled
- the new enabled value
setFont
public void setFont(Font font)
Sets the font of all subcomponents.
setIcon
public void setIcon(ImageIcon icon)
Sets the icon of the buuton.
setLocale
public void setLocale(Locale l)
Sets the locale.
setMaxSelectableDate
public void setMaxSelectableDate(Date max)
setMinSelectableDate
public void setMinSelectableDate(Date min)
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.
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)
updateUI
public void updateUI()
Updates the UI of itself and the popup.
Copyright B) 1999 - 2009 Kai Toedter.