public class JTextFieldDateEditor extends JFormattedTextField implements IDateEditor, CaretListener, FocusListener, ActionListener
JFormattedTextField.AbstractFormatter, JFormattedTextField.AbstractFormatterFactory
JTextField.AccessibleJTextField
JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBinding
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
private Calendar |
calendar |
protected Color |
darkGreen |
protected Date |
date |
protected SimpleDateFormat |
dateFormatter |
protected String |
datePattern |
protected DateUtil |
dateUtil |
private int |
hours |
private boolean |
ignoreDatePatternChange |
private boolean |
isMaskVisible |
private static org.slf4j.Logger |
logger |
protected MaskFormatter |
maskFormatter |
protected String |
maskPattern |
private int |
millis |
private int |
minutes |
protected char |
placeholder |
private int |
seconds |
private static long |
serialVersionUID |
COMMIT, COMMIT_OR_REVERT, PERSIST, REVERT
notifyAction
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
JTextFieldDateEditor() |
JTextFieldDateEditor(boolean showMask,
String datePattern,
String maskPattern,
char placeholder) |
JTextFieldDateEditor(String datePattern,
String maskPattern,
char placeholder) |
Modifier and Type | Method and Description |
---|---|
void |
actionPerformed(ActionEvent e)
Validates the typed date and sets it (only if it is valid).
|
void |
caretUpdate(CaretEvent event)
After any user input, the value of the textfield is proofed.
|
private void |
checkText() |
String |
createMaskFromDatePattern(String datePattern)
Creates a mask from a date pattern.
|
void |
focusGained(FocusEvent e) |
void |
focusLost(FocusEvent focusEvent) |
Date |
getDate()
Returns the date.
|
String |
getDateFormatString()
Returns tha date format string.
|
Date |
getMaxSelectableDate()
Gets the minimum selectable date.
|
Date |
getMinSelectableDate()
Gets the maximum selectable date.
|
Dimension |
getPreferredSize()
Returns the preferred size.
|
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(String[] s)
Creates a JFrame with a JCalendar inside and can be used for testing.
|
void |
setDate(Date date)
Sets the date.
|
protected void |
setDate(Date date,
boolean firePropertyChange)
Sets the date.
|
void |
setDateFormatString(String dateFormatString)
Sets the date format string, e.g.
|
void |
setEnabled(boolean b)
Enables and disabled the component.
|
void |
setLocale(Locale locale)
Sets the locale.
|
void |
setMaskVisible(boolean isMaskVisible)
Sets the mask visible.
|
void |
setMaxSelectableDate(Date max)
Sets the maximum selectable date.
|
void |
setMinSelectableDate(Date min)
Sets the minimum selectable date.
|
void |
setSelectableDateRange(Date min,
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, setValue
actionPropertyChanged, addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, createDefaultModel, fireActionPerformed, getAccessibleContext, getAction, getActionListeners, getColumns, getColumnWidth, getHorizontalAlignment, getHorizontalVisibility, getScrollOffset, isValidateRoot, paramString, postActionEvent, removeActionListener, scrollRectToVisible, setAction, setActionCommand, setColumns, setFont, setHorizontalAlignment, setScrollOffset
addCaretListener, 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, write
addAncestorListener, 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, update
add, 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, validateTree
action, 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, transferFocusUpCycle
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addPropertyChangeListener, addPropertyChangeListener, removePropertyChangeListener, removePropertyChangeListener
private static final org.slf4j.Logger logger
private static final long serialVersionUID
protected SimpleDateFormat dateFormatter
protected MaskFormatter maskFormatter
protected String datePattern
protected String maskPattern
protected char placeholder
private boolean isMaskVisible
private boolean ignoreDatePatternChange
private int hours
private int minutes
private int seconds
private int millis
public JTextFieldDateEditor()
public JTextFieldDateEditor(String datePattern, String maskPattern, char placeholder)
public JTextFieldDateEditor(boolean showMask, String datePattern, String maskPattern, char placeholder)
public Date getDate()
IDateEditor
getDate
in interface IDateEditor
public void setDate(Date date)
IDateEditor
setDate
in interface IDateEditor
date
- the date to setprotected void setDate(Date date, boolean firePropertyChange)
date
- the datefirePropertyChange
- true, if the date property should be fired.public void setDateFormatString(String dateFormatString)
IDateEditor
setDateFormatString
in interface IDateEditor
dateFormatString
- the date format stringpublic String getDateFormatString()
IDateEditor
getDateFormatString
in interface IDateEditor
public JComponent getUiComponent()
IDateEditor
getUiComponent
in interface IDateEditor
public void caretUpdate(CaretEvent event)
caretUpdate
in interface CaretListener
event
- the caret eventpublic void focusLost(FocusEvent focusEvent)
focusLost
in interface FocusListener
private void checkText()
public void focusGained(FocusEvent e)
focusGained
in interface FocusListener
public void setLocale(Locale locale)
IDateEditor
setLocale
in interface IDateEditor
setLocale
in class Component
locale
- the locale to setpublic String createMaskFromDatePattern(String datePattern)
datePattern
- the date patternpublic boolean isMaskVisible()
public void setMaskVisible(boolean isMaskVisible)
isMaskVisible
- true, if the mask should be visiblepublic Dimension getPreferredSize()
getPreferredSize
in class JTextField
public void actionPerformed(ActionEvent e)
actionPerformed
in interface ActionListener
public void setEnabled(boolean b)
setEnabled
in interface IDateEditor
setEnabled
in class JComponent
b
- true, if the UI component should be enabled.public Date getMaxSelectableDate()
IDateEditor
getMaxSelectableDate
in interface IDateEditor
public Date getMinSelectableDate()
IDateEditor
getMinSelectableDate
in interface IDateEditor
public void setMaxSelectableDate(Date max)
IDateEditor
setMaxSelectableDate
in interface IDateEditor
max
- maximum selectable datepublic void setMinSelectableDate(Date min)
IDateEditor
setMinSelectableDate
in interface IDateEditor
min
- minimum selectable datepublic void setSelectableDateRange(Date min, Date max)
IDateEditor
setSelectableDateRange
in interface IDateEditor
min
- 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)