Ontimize 5.2072EN

com.ontimize.gui.field
Class DateDataField

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended bycom.ontimize.gui.field.DataField
                      extended bycom.ontimize.gui.field.TextFieldDataField
                          extended bycom.ontimize.gui.field.DateDataField
All Implemented Interfaces:
AccessForm, javax.accessibility.Accessible, AdvancedDataComponent, ApplicationPreferencesListener, DataComponent, java.util.EventListener, FormComponent, Freeable, HasHelpIdComponent, HasPreferenceComponent, IdentifiedElement, java.awt.image.ImageObserver, Internationalization, java.awt.MenuContainer, OpenDialog, SecureElement, java.io.Serializable, ValueChangeDataComponent
Direct Known Subclasses:
HourDateDataField

public class DateDataField
extends TextFieldDataField
implements OpenDialog, Freeable, AdvancedDataComponent

The main class for creating a field to introduce a date. It adds the parameter calendar. that indicates if a dialog box with the calendar to set the date.

Author:
Imatia Innovation
See Also:
Serialized Form

Nested Class Summary
 class DateDataField.CloseAction
          Class to define the action performed to close the window.
 
Nested classes inherited from class com.ontimize.gui.field.TextFieldDataField
TextFieldDataField.EJTextField, TextFieldDataField.InnerDocumentListener
 
Nested classes inherited from class com.ontimize.gui.field.DataField
DataField.AuxPanel, DataField.CopyActionListener, DataField.ELabel, DataField.FieldButton, DataField.FieldFocusListener, DataField.InfoMouseListener, DataField.ToggleButton
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  javax.swing.JMenuItem advancedHelpBMenu
          A reference to a possible advance help menu.
protected  javax.swing.JButton calendarButton
          A reference to calendar button
protected  boolean calendarChange
          Indicates the form to notify the calendar change event.
protected  VisualCalendarComponent calendarComp
          Implements a calendar with selectable year, month and day.
protected  java.lang.String calendarTitleKey
          Indicates to set the title to the calendar, by default "calendar".
static boolean DEBUG_DATE
          Uses only in case of debug mode.
protected  boolean emphasizeInvalidDate
          Indicates if the date must be emphasized with a different color when it is invalid.
protected  java.awt.Frame frame
          A reference to the parent frame used to select a date.
protected  java.util.Locale locale
          A reference to the default locale.
protected  java.util.GregorianCalendar mainCalendar
          A reference to the Gregorian Calendar.
protected  EJDialog vCalendar
          Especial dialog with the functionality that Esc key throws the event WINDOW_CLOSING.
 
Fields inherited from class com.ontimize.gui.field.TextFieldDataField
disabledTextColor, innerListener
 
Fields inherited from class com.ontimize.gui.field.DataField
advancedQueryMode, ALIGN, ALIGN_CENTER, ALIGN_LEFT, ALIGN_RIGHT, alignment, ASTERISK_REQUIRED_STYLE, ATTR, attribute, backgroundColor, BGCOLOR, bold, BOLD, BORDER, BORDER_REQUIRED_STYLE, borderText, BOTTOM, CENTER, CLIPBOARD_COPY, CLIPBOARD_COPY_es_ES, CLIPBOARD_CUT, CLIPBOARD_CUT_es_ES, CLIPBOARD_PASTE, CLIPBOARD_PASTE_es_ES, conditions, dataField, DEFAULT_BORDER, DEFAULT_BOTTOM_MARGIN, DEFAULT_FIELD_LEFT_MARGIN, DEFAULT_FIELD_RIGHT_MARGIN, DEFAULT_LABEL_LEFT_MARGIN, DEFAULT_LABEL_RIGHT_MARGIN, DEFAULT_PARENT_MARGIN, DEFAULT_PARENT_MARGIN_FOR_SCROLL, DEFAULT_TOP_MARGIN, defaultAsteriskColor, DEFAULTBORDER, defaultDisableBackgroundColor, defaultFieldButtonHigh, defaultPreferenceTextNotRetrievedFromPreferences, DEFINE_HELP_FIELD_PREFERENCE, dim, DIM, disabledbgcolor, DISABLEDBGCOLOR, empty, enabled, ENABLED, FIELD_HELP_TIP, fieldlistenerFocus, fieldSize, fireValueEvents, FOCUS_BACKGROUNDCOLOR, FONT, fontColor, FONTCOLOR, fontSize, FONTSIZE, height, HEIGHT, incrementalFont, initPreferenceHelpText, isEnabled, LABELALIGN, labelComponent, LABELFONT, LABELFONTCOLOR, labelPosition, LABELPOSITION, LABELSIZE, labelText, LABELVISIBLE, LEFT, LOWERED, menuCopy, menuCut, menuDefineHelpPreference, menuHelpPreferences, menuPaste, modifiable, NO_STR, NONE, noRequiredBorder, OPAQUE, originalSize, OUTBORDER, panel, parentForm, permissionActivate, permissionVisible, popupMenu, RAISED, redimensionPanel, redimensJTextField, required, REQUIRED, requiredBorder, REQUIREDBORDER, requiredFieldBackgroundColor, resources, restricted, RIGHT, show, showLabel, SIZE, TEXT_STR, TEXTALIGN, textAlignment, textHelpPreference, TIP, tipKey, TOP, validData, VALIGN, Valignment, valueListener, valueSave, VISIBLE, VISUALIZE_HELP_FIELD_PREFERENCE, weightDataFieldH, weightPanelH, width, WIDTH, x, X, y, Y, YES_STR
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface com.ontimize.gui.field.AdvancedDataComponent
ADVANCED_QUERY
 
Fields inherited from interface com.ontimize.gui.field.DataComponent
COMP_FOCUS_YELLOW, GREEN_VERY_LIGHT, LIGHT_GRAY_BLUE, LIGHT_GREYISH_BLUE, VERY_LIGHT_BLUE, VERY_LIGHT_GRAY, VERY_LIGHT_PINK, VERY_LIGHT_RED, VERY_LIGHT_SKYBLUE, VERY_LIGHT_YELLOW, VERY_LIGHT_YELLOW_2
 
Fields inherited from interface com.ontimize.gui.field.FormComponent
DEBUG
 
Fields inherited from interface com.ontimize.gui.i18n.Internationalization
DEBUG_LANGUAGE
 
Fields inherited from interface com.ontimize.gui.SecureElement
DESACTIVATE_COMPONENT_BY_PERMISSION_TIP
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, PROPERTIES, SOMEBITS
 
Constructor Summary
DateDataField(java.util.Hashtable parameters)
          The class constructor.
 
Method Summary
protected  void colorSelection(javax.swing.event.DocumentEvent e)
          Selects the text color in function of field content.
protected  void createPopupMenu()
          Creates a Pop-up Menu to advanced search help.
 void deleteData()
          Deletes the date of the data field.
 void format()
          Creates the correct representation for the date in data field.
 void free()
          Releases the frame.
 java.awt.Dimension getDataFieldPreferredSize()
          This method returns the preferred size for data field to contain a date in correct format.
 java.lang.Object getDateValue()
          Gets the Date value.
static java.util.Locale getSameCountryLocale(java.util.Locale loc)
           
 int getSQLDataType()
          Gets the SQL data type for specified data types.
 java.lang.Object getValue()
          Gets the Timestamp value.
 void hiddenCalendar()
          Hidden the calendar.
 void init(java.util.Hashtable parameters)
          This method gets the Hashtable and creates the calendar, the access button and implements the listeners.
protected  void installInnerListener()
          Installs a inner listener to get events by program.
 boolean isEmpty()
          Checks the presence and validity of data.
 boolean isModified()
          Returns true when data component has been modified.
 void setAdvancedQueryMode(boolean enable)
          Sets the Component to support the advanced query mode state.
 void setComponentLocale(java.util.Locale loc)
          Sets the Component Locale, to format date, specified in parameter.
 void setDocument(javax.swing.text.Document dateDocument)
           
 void setEmphasizeInvalidDate(boolean highlight)
           
 void setEnabled(boolean enabled)
          Checks the variable that indicates if user has permission to introduce values into the datafield.
 void setParentFrame(java.awt.Frame parentFrame)
          Sets the parent Frame.
 void setResourceBundle(java.util.ResourceBundle res)
          Sets the resource bundle.
 void setValue(java.lang.Object auxValue)
          Sets the field value by program when auxValue is a instance of java.sql.timestamp or java.util.
 void setValueFromComponent(java.lang.Object auxValue)
          Sets the field value by user when auxValue is a instance of java.sql.timestamp or java.util.
 void showCalendar(java.awt.Component c)
          Shows the calendar.
protected  void showPopupMenu(java.awt.Component c, int x, int y)
          Shows the Pop-up Menu.
 
Methods inherited from class com.ontimize.gui.field.TextFieldDataField
createDataField, getAttribute, getInnerListenerEnabled, getInnerValue, getLabelComponentText, getText, isInnerValueEqual, isModifiable, isRequired, setInnerListenerEnabled, setInnerValue
 
Methods inherited from class com.ontimize.gui.field.DataField
addFocusListener, addHelpMenuPopup, addValueChangeListener, changeButton, changeOpacity, checkDefineHelpPermission, checkEnabledPermission, checkVisiblePermission, configurePopupMenuHelp, createFocusListener, createInstanceConditionCombo, defineHelpField, finalize, fireValueChanged, getBorder, getConstraints, getDataField, getDisabledbgcolor, getFontColor, getHelpIdString, getHelpPreferenceKey, getLabelComponent, getLabelFontColor, getLabelText, getParentForm, getPreferenceHelpText, getTextsToTranslate, getValueChangeListeners, hasHelpInPreferences, initPermissions, initPreferences, installFocusListener, installHelpId, installPopupMenuListener, installPreferenceHelpListener, isAdvancedQueryMode, isEnabled, isHidden, isLabelVisible, isRestricted, parseBoolean, preferenceChanged, removeFocusListener, removeValueChangeListener, requestFocus, seeHelpField, setBold, setDisabledbgcolor, setFont, setFontColor, setFontSize, setLabelFontColor, setModifiable, setParentForm, setRequired, setRequiredFieldBackground, setVisible, updateBackgroundColor, updateBackgroundColor, updateFont, updateTip, updateUI, validateComponentPositions
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.ontimize.gui.field.DataComponent
getLabelComponentText, isHidden, isModifiable, isRequired, setModifiable, setRequired
 
Methods inherited from interface com.ontimize.gui.field.FormComponent
getConstraints, isEnabled, setVisible
 
Methods inherited from interface com.ontimize.gui.i18n.Internationalization
getTextsToTranslate
 
Methods inherited from interface com.ontimize.gui.field.IdentifiedElement
getAttribute
 
Methods inherited from interface com.ontimize.gui.SecureElement
initPermissions, isRestricted
 

Field Detail

calendarTitleKey

protected java.lang.String calendarTitleKey
Indicates to set the title to the calendar, by default "calendar".


frame

protected java.awt.Frame frame
A reference to the parent frame used to select a date.


mainCalendar

protected java.util.GregorianCalendar mainCalendar
A reference to the Gregorian Calendar.


calendarChange

protected boolean calendarChange
Indicates the form to notify the calendar change event. By default, "false".


calendarButton

protected javax.swing.JButton calendarButton
A reference to calendar button


locale

protected java.util.Locale locale
A reference to the default locale.


emphasizeInvalidDate

protected boolean emphasizeInvalidDate
Indicates if the date must be emphasized with a different color when it is invalid. By default "true".


advancedHelpBMenu

protected javax.swing.JMenuItem advancedHelpBMenu
A reference to a possible advance help menu.


DEBUG_DATE

public static boolean DEBUG_DATE
Uses only in case of debug mode.


vCalendar

protected EJDialog vCalendar
Especial dialog with the functionality that Esc key throws the event WINDOW_CLOSING.


calendarComp

protected VisualCalendarComponent calendarComp
Implements a calendar with selectable year, month and day. The calendar is sensitive to locale.

Constructor Detail

DateDataField

public DateDataField(java.util.Hashtable parameters)
The class constructor. Initializes parameters and adds a Document Listener.

Parameters:
parameters - a Hashtable with calendar and calendarchange parameters
Method Detail

setDocument

public void setDocument(javax.swing.text.Document dateDocument)

init

public void init(java.util.Hashtable parameters)
This method gets the Hashtable and creates the calendar, the access button and implements the listeners.

Specified by:
init in interface FormComponent
Overrides:
init in class TextFieldDataField
Parameters:
parameters - the Hashtable with parameters

attribute values default required meaning
calendar yes/no no Indicates whether a dialog box with a calendar will be showed.
calendarchange yes/no no no Indicates the form to notify the change event in calendar values. By default, its value is 'no' and so, the changes are only showed when you abandon the calendar.
calendaricon ImageManager.CALENDAR no Indicates the path to icon that shows the calendar.
borderbuttons default/none/raised/lowered or a color defined in ColorConstants. Moreover, it is also allowed a border defined in #BorderManager no The border for buttons in Form
highlightbuttons yes/no no no Sets the highlight in button property when mouse is entered. See AbstractButton#setContentAreaFilled(boolean)). This parameter requires opaque='no'.
opaquebuttons yes/no no no Data field opacity condition for Form buttons

hiddenCalendar

public void hiddenCalendar()
Hidden the calendar.


showCalendar

public void showCalendar(java.awt.Component c)
Shows the calendar.

Parameters:
c - Component to create graphical representation and user interaction

setEnabled

public void setEnabled(boolean enabled)
Checks the variable that indicates if user has permission to introduce values into the datafield.

Specified by:
setEnabled in interface FormComponent
Overrides:
setEnabled in class DataField
Parameters:
enabled - boolean to change permissions

colorSelection

protected void colorSelection(javax.swing.event.DocumentEvent e)
Selects the text color in function of field content. Valid date->black color and Invalid date->red color.

Parameters:
e -

format

public void format()
Creates the correct representation for the date in data field.


setValueFromComponent

public void setValueFromComponent(java.lang.Object auxValue)
Sets the field value by user when auxValue is a instance of java.sql.timestamp or java.util. During the method execution the inner Listener is disabled.

Parameters:
auxValue - Date or Timestamp Object
See Also:
ValueEvent.USER_CHANGE

setValue

public void setValue(java.lang.Object auxValue)
Sets the field value by program when auxValue is a instance of java.sql.timestamp or java.util. During the method execution the inner Listener is disabled.

Specified by:
setValue in interface DataComponent
Parameters:
auxValue - Date or Timestamp Object
See Also:
ValueEvent.PROGRAMMATIC_CHANGE

getValue

public java.lang.Object getValue()
Gets the Timestamp value.

Specified by:
getValue in interface DataComponent
Returns:
an Object with the Timestamp value
Throws:
java.lang.RuntimeException - if any exception occurs

getDateValue

public java.lang.Object getDateValue()
Gets the Date value.

Returns:
an Object with the Date value
Throws:
java.lang.RuntimeException - if any exception occurs

getDataFieldPreferredSize

public java.awt.Dimension getDataFieldPreferredSize()
This method returns the preferred size for data field to contain a date in correct format. Size will depend on font size.

Returns:
The width and height dimension

isEmpty

public boolean isEmpty()
Checks the presence and validity of data.

Specified by:
isEmpty in interface DataComponent
Overrides:
isEmpty in class TextFieldDataField
Returns:
boolean true with valid data. False with invalid or empty data.

setParentFrame

public void setParentFrame(java.awt.Frame parentFrame)
Sets the parent Frame.

Specified by:
setParentFrame in interface OpenDialog
Parameters:
parentFrame - the frame

getSameCountryLocale

public static java.util.Locale getSameCountryLocale(java.util.Locale loc)

setComponentLocale

public void setComponentLocale(java.util.Locale loc)
Sets the Component Locale, to format date, specified in parameter.

Specified by:
setComponentLocale in interface Internationalization
Overrides:
setComponentLocale in class DataField

free

public void free()
Releases the frame.

Specified by:
free in interface Freeable

getSQLDataType

public int getSQLDataType()
Gets the SQL data type for specified data types.

Specified by:
getSQLDataType in interface DataComponent
Returns:
the integer type of TIMESTAMP.

setAdvancedQueryMode

public void setAdvancedQueryMode(boolean enable)
Sets the Component to support the advanced query mode state.

Specified by:
setAdvancedQueryMode in interface AdvancedDataComponent
Parameters:
enable - the condition to enable this state

isModified

public boolean isModified()
Returns true when data component has been modified.

Specified by:
isModified in interface DataComponent
Overrides:
isModified in class DataField

createPopupMenu

protected void createPopupMenu()
Creates a Pop-up Menu to advanced search help.

Overrides:
createPopupMenu in class DataField

showPopupMenu

protected void showPopupMenu(java.awt.Component c,
                             int x,
                             int y)
Shows the Pop-up Menu.

Overrides:
showPopupMenu in class DataField
Parameters:
c - the Component to show
x - The x coordinate
y - The y coordinate

setResourceBundle

public void setResourceBundle(java.util.ResourceBundle res)
Sets the resource bundle. Also changes the title calendar in case this is specified.

Specified by:
setResourceBundle in interface Internationalization
Overrides:
setResourceBundle in class DataField
Parameters:
res - the resource bundle to change

deleteData

public void deleteData()
Deletes the date of the data field. During the method execution the inner Listener is disabled.

Specified by:
deleteData in interface DataComponent
Overrides:
deleteData in class TextFieldDataField

setEmphasizeInvalidDate

public void setEmphasizeInvalidDate(boolean highlight)
Parameters:
highlight - whether or not the emphasizeInvalidDate is enabled

installInnerListener

protected void installInnerListener()
Installs a inner listener to get events by program.

Overrides:
installInnerListener in class TextFieldDataField

Ontimize