Class DateTimePicker

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Dialog
                          |
                          +--DateTimePicker
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.event.ItemListener, java.awt.MenuContainer, java.awt.event.MouseListener, java.io.Serializable

class DateTimePicker
extends java.awt.Dialog
implements java.awt.event.MouseListener, java.awt.event.ItemListener, java.awt.event.ActionListener

Permite al usuario seleccionar una fecha sobre el calendario para estimar la radiación solar. Esta clase ha sido adaptada partiendo de código de libre distribución: "Calendar.java" Versión 2.0. 02/12/1999 Autor: Sudarshan Karkada (sudarshan-karkada@hlp.com)

See Also:
Serialized Form

Inner classes inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog
 
Inner classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.AWTTreeLock
 
Field Summary
(package private) static byte BG
           
(package private) static int BOTTOM_GAP
           
(package private) static int CALDATE
           
(package private) static int CALDAYWEEK
           
(package private) static int CALMONTH
           
(package private)  java.util.Calendar calToday
           
(package private) static int CALYEAR
           
(package private)  byte cbHighlightedCell
           
(package private)  java.awt.Color[] cCalendar
           
(package private)  calendarCell[] Cell
           
(package private)  java.util.Date dMax
           
(package private)  java.util.Date dMin
           
(package private) static byte HIGHLIGHT
           
(package private)  int iCalendarHeight
           
(package private)  int iCalendarWidth
           
(package private)  int iCellHeight
           
(package private)  int iCellWidth
           
(package private) static int LEFT_GAP
           
(package private) static byte MAX_COLORS
           
(package private)  java.awt.Choice months
           
(package private) static byte NEIGHBOR_MONTH_DATE
           
(package private)  RadiacionSolar parent
           
(package private) static int RIGHT_GAP
           
(package private)  java.awt.Button salir
           
(package private)  java.lang.String sWeekNames
           
(package private)  java.awt.Button today
           
(package private) static int TOP_GAP
           
(package private) static byte UNSELECTABLE
           
(package private) static byte WEEKEND_BG
           
(package private)  java.awt.Choice years
           
 
Fields inherited from class java.awt.Dialog
base, keepBlocking, modal, nameCounter, resizable, serialVersionUID, title
 
Fields inherited from class java.awt.Window
active, dbg, focusMgr, inputContext, inputContextLock, OPENED, ownedWindowList, state, warningString, weakThis, windowListener, windowSerializedDataVersion
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, listeningBoundsChildren, listeningChildren, maxSize, ncomponents, printing, printingThreads
 
Fields inherited from class java.awt.Component
accessibleContext, actionListenerK, adjustmentListenerK, appContext, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, graphicsConfig, hasFocus, height, hierarchyBoundsListener, hierarchyBoundsListenerK, hierarchyListener, hierarchyListenerK, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, metrics, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, peer, peerFont, popups, prefSize, privateKey, RIGHT_ALIGNMENT, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowClosingException, windowListenerK, x, y
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
DateTimePicker(RadiacionSolar radWin)
          Constructor.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Eventos procedentes de botones (mostrar el día de hoy o cerrar ventana).
private  java.util.Date assignDateOf(int iYear, int iMonth, int iDate)
          Asigna una fecha determinada (año, mes y día).
private  void debug(java.lang.String message)
          Mostrar mensajes en la consola de depuración.
private  void DrawDates(java.awt.Graphics g)
          Dibujar las fechas en las celdas del calendario.
private  byte getCellNumber(int x, int y)
          Determinar la celda que se encuentra en el punto sobre el que ha pinchado el ratón.
private  int GetDateEntity(java.util.Date dBuffer, int iEntity)
           
private  int GetDayFromDate(int iYear, int iMonth, int iDate)
          Determinar el día de la semana en que cae una fecha dada.
private  java.lang.String getDiaMes(int number)
          Obtiene el nombre del mes a partir de un valor entero.
private  java.lang.String getDiaSemana(int number)
          Obtiene el nombre del día de la semana a partir de un valor entero.
private  java.lang.String getFullSelection()
          Devuelve el día de la semana, el día, mes y año de la fecha seleccionada.
private  int GetMonthDays(int iYear, int iMonth)
          Calcular el número de días que tiene un mes dado.
 int getSelectedDate()
          Obtiene el día seleccionado
 int getSelectedDayOfWeek()
          Obtiene el día de la semana seleccionado
 int getSelectedMonth()
          Obtiene el mes seleccionado
 int getSelectedYear()
          Obtiene el año seleccionado
private  java.util.Date getSelection()
          Obtiene la última celda seleccionada.
private  void getSelection(int iYear, int iMonth, int iDate)
           
private  void getSelection(java.lang.String sYear, java.lang.String sMonth, java.lang.String sDate)
           
 java.lang.String getToday()
          Obtiene la fecha del día de hoy.
private  long GetTotalDaysUntil(java.util.Calendar calBuffer)
          Calcular el número de días transcurridos hasta una fecha seleccionada.
private  long GetTotalDaysUntil(java.util.Date dBuffer)
          Calcular el número de días transcurridos hasta una fecha dada.
private  long GetTotalDaysUntil(int iYear, int iMonth, int iDate)
          Calcular el número de días transcurridos hasta una fecha dada.
private  java.util.Date GetWeekBeginDate(java.util.Date d)
          Obtiene la semana que comienza con una fecha dada.
private  void highlightCell(int iCellNumber, java.awt.Color cHighlight)
          Marcar la celda con la fecha seleccionada.
private  boolean IsLeapYear(int iYear)
          Determina si un año es bisiesto.
 void itemStateChanged(java.awt.event.ItemEvent e)
          Preparar los días del calendario y mostrar la página seleccionada.
 void mouseClicked(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
          Gestiona eventos de ratón cuando el usuario selecciona una fecha concreta.
 void mouseReleased(java.awt.event.MouseEvent e)
           
 void paint(java.awt.Graphics g)
          Mostrar el calendario en pantalla.
private  void SetCellDates()
          Preparar las celdas con las fechas del calendario.
 void setLocation(java.awt.Point p)
          Coloca la ventana del calendario en la posición deseada.
private  void setParameters()
          Establece parámetros del calendario (colores, rango de fechas seleccionables, etc).
 
Methods inherited from class java.awt.Dialog
, addNotify, conditionalShow, constructComponentName, dispose, disposeImpl, getAccessibleContext, getTitle, hide, hideAndDisposeHandler, initIDs, interruptBlocking, isModal, isResizable, paramString, setModal, setResizable, setTitle, show
 
Methods inherited from class java.awt.Window
addOwnedWindow, addWindowListener, adjustListeningChildren, applyResourceBundle, applyResourceBundle, connectOwnedWindow, dispatchEventImpl, eventEnabled, finalize, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, isActive, isShowing, nextFocus, ownedInit, pack, postEvent, postProcessKeyEvent, postWindowEvent, preProcessKeyEvent, processEvent, processWindowEvent, readObject, removeOwnedWindow, removeWindowListener, resetGC, setCursor, setFocusOwner, setWarningString, toBack, toFront, transferFocus, writeObject
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyOrientation, checkGD, countComponents, createChildHierarchyEvents, createHierarchyEvents, deliverEvent, dispatchEventToSelf, doLayout, findComponentAt, findComponentAt, findComponentAt, getAccessibleAt, getAccessibleChild, getAccessibleChildrenCount, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getMouseEventTarget, getPreferredSize, getWindow, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPaint, lightweightPrint, list, list, locate, minimumSize, numListening, paintComponents, paintHeavyweightComponents, postsOldMouseEvents, preferredSize, print, printComponents, printHeavyweightComponents, processContainerEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, removeNotify, setFont, setLayout, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, checkWindowClosingException, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getAccessibleIndexInParent, getAccessibleStateSet, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getSize, getToolkitImpl, getTreeLock, getWidth, getWindowForObject, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isEnabledImpl, isFocusTraversable, isLightweight, isOpaque, isRecursivelyVisible, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

LEFT_GAP

static final int LEFT_GAP

RIGHT_GAP

static final int RIGHT_GAP

BOTTOM_GAP

static final int BOTTOM_GAP

TOP_GAP

static final int TOP_GAP

CALYEAR

static final int CALYEAR

CALMONTH

static final int CALMONTH

CALDATE

static final int CALDATE

CALDAYWEEK

static final int CALDAYWEEK

BG

static final byte BG

WEEKEND_BG

static final byte WEEKEND_BG

NEIGHBOR_MONTH_DATE

static final byte NEIGHBOR_MONTH_DATE

HIGHLIGHT

static final byte HIGHLIGHT

UNSELECTABLE

static final byte UNSELECTABLE

MAX_COLORS

static final byte MAX_COLORS

iCellWidth

int iCellWidth

iCellHeight

int iCellHeight

iCalendarWidth

int iCalendarWidth

iCalendarHeight

int iCalendarHeight

cbHighlightedCell

byte cbHighlightedCell

dMin

java.util.Date dMin

dMax

java.util.Date dMax

sWeekNames

java.lang.String sWeekNames

months

java.awt.Choice months

years

java.awt.Choice years

today

java.awt.Button today

salir

java.awt.Button salir

cCalendar

java.awt.Color[] cCalendar

Cell

calendarCell[] Cell

calToday

java.util.Calendar calToday

parent

RadiacionSolar parent
Constructor Detail

DateTimePicker

public DateTimePicker(RadiacionSolar radWin)
Constructor.
Parameters:
radWin - Enlace a la ventana de análisis de radiación solar.
Method Detail

assignDateOf

private java.util.Date assignDateOf(int iYear,
                                    int iMonth,
                                    int iDate)
Asigna una fecha determinada (año, mes y día).

GetDateEntity

private int GetDateEntity(java.util.Date dBuffer,
                          int iEntity)

setParameters

private void setParameters()
Establece parámetros del calendario (colores, rango de fechas seleccionables, etc).

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Gestiona eventos de ratón cuando el usuario selecciona una fecha concreta.
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Eventos procedentes de botones (mostrar el día de hoy o cerrar ventana).
Specified by:
actionPerformed in interface java.awt.event.ActionListener

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent e)
Preparar los días del calendario y mostrar la página seleccionada.
Specified by:
itemStateChanged in interface java.awt.event.ItemListener

SetCellDates

private void SetCellDates()
Preparar las celdas con las fechas del calendario.

highlightCell

private void highlightCell(int iCellNumber,
                           java.awt.Color cHighlight)
Marcar la celda con la fecha seleccionada.
Parameters:
iCellNumber - Número de la celda seleccionada.
cHighlight - Color para destacar esa celda sobre las demás.

getCellNumber

private byte getCellNumber(int x,
                           int y)
Determinar la celda que se encuentra en el punto sobre el que ha pinchado el ratón.
Parameters:
x - Coordenada X donde se ha hecho click con el ratón.
y - Coordenada Y donde se ha hecho click con el ratón.
Returns:
Celda ubicada en las coordenadas (x,y).

paint

public void paint(java.awt.Graphics g)
Mostrar el calendario en pantalla.
Overrides:
paint in class java.awt.Container

DrawDates

private void DrawDates(java.awt.Graphics g)
Dibujar las fechas en las celdas del calendario.

GetDayFromDate

private int GetDayFromDate(int iYear,
                           int iMonth,
                           int iDate)
Determinar el día de la semana en que cae una fecha dada.
Parameters:
iYear - Año
iMonth - Mes
iDate - Día
Returns:
Valor entero que indica el día de la semana.

GetTotalDaysUntil

private long GetTotalDaysUntil(java.util.Date dBuffer)
Calcular el número de días transcurridos hasta una fecha dada.
Parameters:
dBuffer - Fecha.
Returns:
Número de días transcurridos desde el 1 de Enero del año 0.

GetTotalDaysUntil

private long GetTotalDaysUntil(java.util.Calendar calBuffer)
Calcular el número de días transcurridos hasta una fecha seleccionada.
Parameters:
calBuffer - Objeto de clase "Calendario" donde se selecciona la fecha.
Returns:
Número de días transcurridos desde el 1 de Enero del año 0.

GetTotalDaysUntil

private long GetTotalDaysUntil(int iYear,
                               int iMonth,
                               int iDate)
Calcular el número de días transcurridos hasta una fecha dada.
Parameters:
iYear - Año.
iMonth - Mes.
iDate - Día.
Returns:
Número de días transcurridos desde el 1 de Enero del año 0.

IsLeapYear

private boolean IsLeapYear(int iYear)
Determina si un año es bisiesto.
Parameters:
iYear - Año
Returns:
True: el año es bisiesto, False: año no bisiesto.

GetMonthDays

private int GetMonthDays(int iYear,
                         int iMonth)
Calcular el número de días que tiene un mes dado.
Parameters:
iYear - Año (necesario para saber si el mes es bisiesto).
iMonth - Mes.
Returns:
Número de días de ese mes.

GetWeekBeginDate

private java.util.Date GetWeekBeginDate(java.util.Date d)
Obtiene la semana que comienza con una fecha dada.
Parameters:
d - Fecha.

getSelection

private java.util.Date getSelection()
Obtiene la última celda seleccionada.
Returns:
Fecha seleccionada.

getSelection

private void getSelection(int iYear,
                          int iMonth,
                          int iDate)

getSelection

private void getSelection(java.lang.String sYear,
                          java.lang.String sMonth,
                          java.lang.String sDate)

getFullSelection

private java.lang.String getFullSelection()
Devuelve el día de la semana, el día, mes y año de la fecha seleccionada.
Returns:
Cadena de caracteres indicando el día de la semana, día del mes, mes y año.

getSelectedYear

public int getSelectedYear()
Obtiene el año seleccionado
Returns:
Año (número entero).

getSelectedMonth

public int getSelectedMonth()
Obtiene el mes seleccionado
Returns:
Mes (número entero).

getSelectedDate

public int getSelectedDate()
Obtiene el día seleccionado
Returns:
Día (número entero).

getSelectedDayOfWeek

public int getSelectedDayOfWeek()
Obtiene el día de la semana seleccionado
Returns:
Día de la semana (número entero).

setLocation

public void setLocation(java.awt.Point p)
Coloca la ventana del calendario en la posición deseada.
Overrides:
setLocation in class java.awt.Component
Parameters:
p - Coordenadas del punto superior izquierdo del calendario.

getDiaSemana

private java.lang.String getDiaSemana(int number)
Obtiene el nombre del día de la semana a partir de un valor entero.
Parameters:
number - Valor entero que representa un día de la semana.
Returns:
Cadena de caracteres con el nombre del día.

getDiaMes

private java.lang.String getDiaMes(int number)
Obtiene el nombre del mes a partir de un valor entero.
Parameters:
number - Valor entero que representa un mes.
Returns:
Cadena de caracteres con el nombre del mes.

getToday

public java.lang.String getToday()
Obtiene la fecha del día de hoy.
Returns:
Cadena de caracteres indicando el día de la semana, día del mes, mes y año actuales.

debug

private void debug(java.lang.String message)
Mostrar mensajes en la consola de depuración.
Parameters:
Mensaje - a mostrar.