public class JTextFieldDateEditor extends javax.swing.JFormattedTextField implements IDateEditor, javax.swing.event.CaretListener, java.awt.event.FocusListener, java.awt.event.ActionListener
javax.swing.JFormattedTextField.AbstractFormatter, javax.swing.JFormattedTextField.AbstractFormatterFactoryjavax.swing.JTextField.AccessibleJTextFieldjavax.swing.text.JTextComponent.AccessibleJTextComponent, javax.swing.text.JTextComponent.DropLocation, javax.swing.text.JTextComponent.KeyBindingjavax.swing.JComponent.AccessibleJComponent| Modifier and Type | Field and Description |
|---|---|
private java.util.Calendar |
calendar |
protected java.awt.Color |
darkGreen |
protected java.util.Date |
date |
protected java.text.SimpleDateFormat |
dateFormatter |
protected java.lang.String |
datePattern |
protected DateUtil |
dateUtil |
private int |
hours |
private boolean |
ignoreDatePatternChange |
private boolean |
isMaskVisible |
private static org.slf4j.Logger |
logger |
protected javax.swing.text.MaskFormatter |
maskFormatter |
protected java.lang.String |
maskPattern |
private int |
millis |
private int |
minutes |
protected char |
placeholder |
private int |
seconds |
private static long |
serialVersionUID |
COMMIT, COMMIT_OR_REVERT, PERSIST, REVERTlistenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT| Constructor and Description |
|---|
JTextFieldDateEditor() |
JTextFieldDateEditor(boolean showMask,
java.lang.String datePattern,
java.lang.String maskPattern,
char placeholder) |
JTextFieldDateEditor(java.lang.String datePattern,
java.lang.String maskPattern,
char placeholder) |
| Modifier and Type | Method and Description |
|---|---|
void |
actionPerformed(java.awt.event.ActionEvent e)
Validates the typed date and sets it (only if it is valid).
|
void |
caretUpdate(javax.swing.event.CaretEvent event)
After any user input, the value of the textfield is proofed.
|
private void |
checkText() |
java.lang.String |
createMaskFromDatePattern(java.lang.String datePattern)
Creates a mask from a date pattern.
|
void |
focusGained(java.awt.event.FocusEvent e) |
void |
focusLost(java.awt.event.FocusEvent focusEvent) |
java.util.Date |
getDate()
Returns the date.
|
java.lang.String |
getDateFormatString()
Returns tha date format string.
|
java.util.Date |
getMaxSelectableDate()
Gets the minimum selectable date.
|
java.util.Date |
getMinSelectableDate()
Gets the maximum selectable date.
|
java.awt.Dimension |
getPreferredSize()
Returns the preferred size.
|
javax.swing.JComponent |
getUiComponent()
Returns the UI component, e.g. the actual JTextField implementing the
editor.
|
boolean |
isMaskVisible()
Returns true, if the mask is visible.
|
static void |
main(java.lang.String[] s)
Creates a JFrame with a JCalendar inside and can be used for testing.
|
void |
setDate(java.util.Date date)
Sets the date.
|
protected void |
setDate(java.util.Date date,
boolean firePropertyChange)
Sets the date.
|
void |
setDateFormatString(java.lang.String dateFormatString)
Sets the date format string, e.g.
|
void |
setEnabled(boolean b)
Enables and disabled the component.
|
void |
setLocale(java.util.Locale locale)
Sets the locale.
|
void |
setMaskVisible(boolean isMaskVisible)
Sets the mask visible.
|
void |
setMaxSelectableDate(java.util.Date max)
Sets the maximum selectable date.
|
void |
setMinSelectableDate(java.util.Date min)
Sets the minimum selectable date.
|
void |
setSelectableDateRange(java.util.Date min,
java.util.Date max)
Sets a valid date range for selectable dates.
|
commitEdit, getActions, getFocusLostBehavior, getFormatter, getFormatterFactory, getUIClassID, getValue, invalidEdit, isEditValid, processFocusEvent, processInputMethodEvent, setDocument, setFocusLostBehavior, setFormatter, setFormatterFactory, setValueactionPropertyChanged, addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, createDefaultModel, fireActionPerformed, getAccessibleContext, getAction, getActionListeners, getColumns, getColumnWidth, getHorizontalAlignment, getHorizontalVisibility, getScrollOffset, isValidateRoot, paramString, postActionEvent, removeActionListener, scrollRectToVisible, setAction, setActionCommand, setColumns, setFont, setHorizontalAlignment, setScrollOffsetaddCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, moveCaretPosition, paste, print, print, print, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, restoreComposedText, saveComposedText, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setText, setUI, updateUI, viewToModel, writeaddAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateadd, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTreeaction, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycleclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddPropertyChangeListener, addPropertyChangeListener, removePropertyChangeListener, removePropertyChangeListenerprivate static final org.slf4j.Logger logger
private static final long serialVersionUID
protected java.util.Date date
protected java.text.SimpleDateFormat dateFormatter
protected javax.swing.text.MaskFormatter maskFormatter
protected java.lang.String datePattern
protected java.lang.String maskPattern
protected char placeholder
protected java.awt.Color darkGreen
private boolean isMaskVisible
private boolean ignoreDatePatternChange
private int hours
private int minutes
private int seconds
private int millis
private java.util.Calendar calendar
public JTextFieldDateEditor()
public JTextFieldDateEditor(java.lang.String datePattern, java.lang.String maskPattern, char placeholder)
public JTextFieldDateEditor(boolean showMask, java.lang.String datePattern, java.lang.String maskPattern, char placeholder)
public java.util.Date getDate()
IDateEditorgetDate in interface IDateEditorpublic void setDate(java.util.Date date)
IDateEditorsetDate in interface IDateEditordate - the date to setprotected void setDate(java.util.Date date, boolean firePropertyChange)
date - the datefirePropertyChange - true, if the date property should be fired.public void setDateFormatString(java.lang.String dateFormatString)
IDateEditorsetDateFormatString in interface IDateEditordateFormatString - the date format stringpublic java.lang.String getDateFormatString()
IDateEditorgetDateFormatString in interface IDateEditorpublic javax.swing.JComponent getUiComponent()
IDateEditorgetUiComponent in interface IDateEditorpublic void caretUpdate(javax.swing.event.CaretEvent event)
caretUpdate in interface javax.swing.event.CaretListenerevent - the caret eventpublic void focusLost(java.awt.event.FocusEvent focusEvent)
focusLost in interface java.awt.event.FocusListenerprivate void checkText()
public void focusGained(java.awt.event.FocusEvent e)
focusGained in interface java.awt.event.FocusListenerpublic void setLocale(java.util.Locale locale)
IDateEditorsetLocale in interface IDateEditorsetLocale in class java.awt.Componentlocale - the locale to setpublic java.lang.String createMaskFromDatePattern(java.lang.String datePattern)
datePattern - the date patternpublic boolean isMaskVisible()
public void setMaskVisible(boolean isMaskVisible)
isMaskVisible - true, if the mask should be visiblepublic java.awt.Dimension getPreferredSize()
getPreferredSize in class javax.swing.JTextFieldpublic void actionPerformed(java.awt.event.ActionEvent e)
actionPerformed in interface java.awt.event.ActionListenerpublic void setEnabled(boolean b)
setEnabled in interface IDateEditorsetEnabled in class javax.swing.JComponentb - true, if the UI component should be enabled.public java.util.Date getMaxSelectableDate()
IDateEditorgetMaxSelectableDate in interface IDateEditorpublic java.util.Date getMinSelectableDate()
IDateEditorgetMinSelectableDate in interface IDateEditorpublic void setMaxSelectableDate(java.util.Date max)
IDateEditorsetMaxSelectableDate in interface IDateEditormax - maximum selectable datepublic void setMinSelectableDate(java.util.Date min)
IDateEditorsetMinSelectableDate in interface IDateEditormin - minimum selectable datepublic void setSelectableDateRange(java.util.Date min, java.util.Date max)
IDateEditorsetSelectableDateRange in interface IDateEditormin - the minimum selectable date or null (then the minimum date should be
set to 01\01\0001)max - the maximum selectable date or null (then the maximum date should be
set to 01\01\9999)public static void main(java.lang.String[] s)
s - The command line arguments