Class JPanelEditDate

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

    public class JPanelEditDate
    extends JPanelEdit
    panel contains 3 fields: 2 comboboxes (day, month), 1 text field (year), panel handles proper day/month and leap-year input.
    Version:
    1.0
    Author:
    David Parsons
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JPanel

        javax.swing.JPanel.AccessibleJPanel
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private javax.swing.JComboBox dayCombobox
      DOCUMENT ME!
      private javax.swing.JComboBox monthCombobox
      DOCUMENT ME!
      private boolean noFutureDates
      DOCUMENT ME!
      private boolean noPastDates
      DOCUMENT ME!
      private static long serialVersionUID
      Use serialVersionUID for interoperability.
      private boolean xml
      DOCUMENT ME!
      private javax.swing.JTextField yearTextField
      DOCUMENT ME!
      • Fields inherited from class javax.swing.JComponent

        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

        accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    • Constructor Summary

      Constructors 
      Constructor Description
      JPanelEditDate​(java.lang.String initialText, boolean xml)
      Builds the panel with 3 fields.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean checkFields()
      Because DICOM requires 4-digit years, we must check the year field.
      java.lang.Object getCodedValue()
      If the information held by the panel is stored as a code (as in 'M' for "male" or 'F' for "female"), then this code will be returned by this method.
      java.lang.String getPanelValue()
      concatonates the date as MM/DD/YYYY; padding any years < 1000 with leading zeros.
      boolean restrictNoFutureDates()
      accessor to find out whether the panel is set to restrict the panel-display from displaying dates in the future.
      void restrictNoFutureDates​(boolean permission)
      sets the panel use the restriction that it is to allow no dates after today.
      boolean restrictPastDates()
      accessor to find out whether the panel is set to restrict the panel-display from displaying dates in the past.
      void restrictPastDates​(boolean permission)
      sets the panel use the restriction that it is to allow no dates prior to today.
      private void updatePanel​(int numberOfDays, int currentMonth, int year)
      self-verification of panel values, prior to requesting for checkFields.
      • Methods inherited from class javax.swing.JPanel

        getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
      • Methods inherited from class javax.swing.JComponent

        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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
      • Methods inherited from class java.awt.Container

        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
      • Methods inherited from class java.awt.Component

        action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, 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, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, 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, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        Use serialVersionUID for interoperability.
        See Also:
        Constant Field Values
      • dayCombobox

        private javax.swing.JComboBox dayCombobox
        DOCUMENT ME!
      • monthCombobox

        private javax.swing.JComboBox monthCombobox
        DOCUMENT ME!
      • noFutureDates

        private boolean noFutureDates
        DOCUMENT ME!
      • noPastDates

        private boolean noPastDates
        DOCUMENT ME!
      • xml

        private boolean xml
        DOCUMENT ME!
      • yearTextField

        private javax.swing.JTextField yearTextField
        DOCUMENT ME!
    • Constructor Detail

      • JPanelEditDate

        public JPanelEditDate​(java.lang.String initialText,
                              boolean xml)
        Builds the panel with 3 fields. It is necessary to validate these fields before accepting the values.
        Parameters:
        initialText - the text which will fill the text field whn begun-- date string will be in mm/dd/yyyy format
        xml - DOCUMENT ME!
    • Method Detail

      • checkFields

        public boolean checkFields()
        Because DICOM requires 4-digit years, we must check the year field. If the year-text has fewer or more than 4 digits, the field must be fixed. Any year with 4 digits is okay.

        If there is an error, the errorString is set to describe the problem and errorComponent is set to point to the JComponent that had an illegal value. This method then returns false. When processed normally, the caller finds a true, and the errorString and errorComponent are set to null to prevent undesired consequences.

        Specified by:
        checkFields in class JPanelEdit
        Returns:
        boolean FieldsOKAY
        See Also:
        MipavUtil.displayError(String)
      • getCodedValue

        public java.lang.Object getCodedValue()
        If the information held by the panel is stored as a code (as in 'M' for "male" or 'F' for "female"), then this code will be returned by this method. If there is no code for this value, this method will return a the same value as getPanelValue()
        Specified by:
        getCodedValue in class JPanelEdit
        Returns:
        the coded value. If the panel has no coded value, then the return value will be the String returned by getPanelValue().
      • getPanelValue

        public java.lang.String getPanelValue()
        concatonates the date as MM/DD/YYYY; padding any years < 1000 with leading zeros.
        Specified by:
        getPanelValue in class JPanelEdit
        Returns:
        DOCUMENT ME!
      • restrictNoFutureDates

        public boolean restrictNoFutureDates()
        accessor to find out whether the panel is set to restrict the panel-display from displaying dates in the future.
        Returns:
        boolean whether the user may select a date in the future.
      • restrictNoFutureDates

        public void restrictNoFutureDates​(boolean permission)
        sets the panel use the restriction that it is to allow no dates after today.
        Parameters:
        permission - to display dates in the future. true prevents the panel from displaying a date in the future; false (the default) permits selection of a date in the future.
      • restrictPastDates

        public boolean restrictPastDates()
        accessor to find out whether the panel is set to restrict the panel-display from displaying dates in the past.
        Returns:
        boolean whether the user may select a date in the past.
      • restrictPastDates

        public void restrictPastDates​(boolean permission)
        sets the panel use the restriction that it is to allow no dates prior to today.
        Parameters:
        permission - to display dates in the past. true prevents the panel from displaying a date in the past; false (the default) permits selection of a date in the past.
      • updatePanel

        private void updatePanel​(int numberOfDays,
                                 int currentMonth,
                                 int year)
        self-verification of panel values, prior to requesting for checkFields. In fact, so that it is not necessary to explicitly verify the value.
        Parameters:
        numberOfDays - DOCUMENT ME!
        currentMonth - DOCUMENT ME!
        year - DOCUMENT ME!