Package org.eclipse.swt.widgets

## Class DateTime

- java.lang.Object
- - org.eclipse.swt.widgets.Widget
  - - org.eclipse.swt.widgets.Control
    - - org.eclipse.swt.widgets.Scrollable
      - - org.eclipse.swt.widgets.Composite
        - - org.eclipse.swt.widgets.DateTime

All Implemented Interfaces:
  `Drawable`

    public class DateTime
    extends Composite

Instances of this class are selectable user interface objects that allow the user to enter and modify date or time values.

Note that although this class is a subclass of `Composite`, it does not make sense to add children to it, or set a layout on it.

Styles:
  DATE, TIME, CALENDAR, SHORT, MEDIUM, LONG, DROP_DOWN, CALENDAR_WEEKNUMBERS
Events:
  DefaultSelection, Selection

Note: Only one of the styles DATE, TIME, or CALENDAR may be specified, and only one of the styles SHORT, MEDIUM, or LONG may be specified. The DROP_DOWN style is only valid with the DATE style.

IMPORTANT: This class is not intended to be subclassed.

Since:
  3.3
See Also:
  DateTime snippets, SWT Example: ControlExample, Sample code and further information
Restriction:
  This class is not intended to be subclassed by clients.

### Field Summary

### Fields inherited from class org.eclipse.swt.widgets.Control

`handle`

### Constructor Summary

Constructors
`DateTime​(Composite parent, int style)` Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addSelectionListener​(SelectionListener listener)` Adds the listener to the collection of listeners who will be notified when the control is selected by the user, by sending it one of the messages defined in the `SelectionListener` interface.
`protected void` `checkSubclass()` Checks that this class can be subclassed.
`int` `getDay()` Returns the receiver's date, or day of the month.
`int` `getHours()` Returns the receiver's hours.
`int` `getMinutes()` Returns the receiver's minutes.
`int` `getMonth()` Returns the receiver's month.
`int` `getSeconds()` Returns the receiver's seconds.
`int` `getYear()` Returns the receiver's year.
`void` `removeSelectionListener​(SelectionListener listener)` Removes the listener from the collection of listeners who will be notified when the control is selected by the user.
`void` `setDate​(int year, int month, int day)` Sets the receiver's year, month, and day in a single operation.
`void` `setDay​(int day)` Sets the receiver's date, or day of the month, to the specified day.
`void` `setHours​(int hours)` Sets the receiver's hours.
`void` `setMinutes​(int minutes)` Sets the receiver's minutes.
`void` `setMonth​(int month)` Sets the receiver's month.
`void` `setOrientation​(int orientation)` Sets the orientation of the receiver, which must be one of the constants `SWT.LEFT_TO_RIGHT` or `SWT.RIGHT_TO_LEFT`.
`void` `setSeconds​(int seconds)` Sets the receiver's seconds.
`void` `setTime​(int hours, int minutes, int seconds)` Sets the receiver's hours, minutes, and seconds in a single operation.
`void` `setYear​(int year)` Sets the receiver's year.

### Methods inherited from class org.eclipse.swt.widgets.Composite

`changed, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList`

### Methods inherited from class org.eclipse.swt.widgets.Scrollable

`computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBar`

### Methods inherited from class org.eclipse.swt.widgets.Control

`addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update`

### Methods inherited from class org.eclipse.swt.widgets.Widget

`addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.eclipse.swt.graphics.Drawable

`isAutoScalable`

### Constructor Detail

#### DateTime

    public DateTime​(Composite parent,
                    int style)

Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

The style value is either one of the style constants defined in class `SWT` which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using the `int` "|" operator) two or more of those `SWT` style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses.

Parameters:
  `parent` - a composite control which will be the parent of the new instance (cannot be null)
  `style` - the style of control to construct
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the parent is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
  - ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
See Also:
  `SWT.DATE`, `SWT.TIME`, `SWT.CALENDAR`, `SWT.CALENDAR_WEEKNUMBERS`, `SWT.SHORT`, `SWT.MEDIUM`, `SWT.LONG`, `SWT.DROP_DOWN`, `Widget.checkSubclass()`, `Widget.getStyle()`

### Method Detail

#### addSelectionListener

    public void addSelectionListener​(SelectionListener listener)

Adds the listener to the collection of listeners who will be notified when the control is selected by the user, by sending it one of the messages defined in the `SelectionListener` interface.

`widgetSelected` is called when the user changes the control's value. `widgetDefaultSelected` is typically called when ENTER is pressed.

Parameters:
  `listener` - the listener which should be notified
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the listener is null
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
See Also:
  `SelectionListener`, `removeSelectionListener(org.eclipse.swt.events.SelectionListener)`, `SelectionEvent`

#### checkSubclass

    protected void checkSubclass()

Description copied from class: `Widget`
Checks that this class can be subclassed.

The SWT class library is intended to be subclassed only at specific, controlled points (most notably, `Composite` and `Canvas` when implementing new widgets). This method enforces this rule unless it is overridden.

IMPORTANT: By providing an implementation of this method that allows a subclass of a class which does not normally allow subclassing to be created, the implementer agrees to be fully responsible for the fact that any such subclass will likely fail between SWT releases and will be strongly platform specific. No support is provided for user-written classes which are implemented in this fashion.

The ability to subclass outside of the allowed SWT classes is intended purely to enable those not on the SWT development team to implement patches in order to get around specific limitations in advance of when those limitations can be addressed by the team. Subclassing should not be attempted without an intimate and detailed understanding of the hierarchy.

Overrides:
  `checkSubclass` in class `Composite`

#### getDay

    public int getDay()

Returns the receiver's date, or day of the month.

The first day of the month is 1, and the last day depends on the month and year.

Returns:
  a positive integer beginning with 1
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getHours

    public int getHours()

Returns the receiver's hours.

Hours is an integer between 0 and 23.

Returns:
  an integer between 0 and 23
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getMinutes

    public int getMinutes()

Returns the receiver's minutes.

Minutes is an integer between 0 and 59.

Returns:
  an integer between 0 and 59
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getMonth

    public int getMonth()

Returns the receiver's month.

The first month of the year is 0, and the last month is 11.

Returns:
  an integer between 0 and 11
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getSeconds

    public int getSeconds()

Returns the receiver's seconds.

Seconds is an integer between 0 and 59.

Returns:
  an integer between 0 and 59
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### getYear

    public int getYear()

Returns the receiver's year.

The first year is 1752 and the last year is 9999.

Returns:
  an integer between 1752 and 9999
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### removeSelectionListener

    public void removeSelectionListener​(SelectionListener listener)

Removes the listener from the collection of listeners who will be notified when the control is selected by the user.

Parameters:
  `listener` - the listener which should no longer be notified
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the listener is null
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
See Also:
  `SelectionListener`, `addSelectionListener(org.eclipse.swt.events.SelectionListener)`

#### setDate

    public void setDate​(int year,
                        int month,
                        int day)

Sets the receiver's year, month, and day in a single operation.

This is the recommended way to set the date, because setting the year, month, and day separately may result in invalid intermediate dates.

Parameters:
  `year` - an integer between 1752 and 9999
  `month` - an integer between 0 and 11
  `day` - a positive integer beginning with 1
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
Since:
  3.4

#### setDay

    public void setDay​(int day)

Sets the receiver's date, or day of the month, to the specified day.

The first day of the month is 1, and the last day depends on the month and year. If the specified day is not valid for the receiver's month and year, then it is ignored.

Parameters:
  `day` - a positive integer beginning with 1
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
See Also:
  `setDate(int, int, int)`

#### setHours

    public void setHours​(int hours)

Sets the receiver's hours.

Hours is an integer between 0 and 23.

Parameters:
  `hours` - an integer between 0 and 23
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### setMinutes

    public void setMinutes​(int minutes)

Sets the receiver's minutes.

Minutes is an integer between 0 and 59.

Parameters:
  `minutes` - an integer between 0 and 59
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### setMonth

    public void setMonth​(int month)

Sets the receiver's month.

The first month of the year is 0, and the last month is 11. If the specified month is not valid for the receiver's day and year, then it is ignored.

Parameters:
  `month` - an integer between 0 and 11
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
See Also:
  `setDate(int, int, int)`

#### setOrientation

    public void setOrientation​(int orientation)

Description copied from class: `Control`
Sets the orientation of the receiver, which must be one of the constants `SWT.LEFT_TO_RIGHT` or `SWT.RIGHT_TO_LEFT`.

Overrides:
  `setOrientation` in class `Control`
Parameters:
  `orientation` - new orientation style

#### setSeconds

    public void setSeconds​(int seconds)

Sets the receiver's seconds.

Seconds is an integer between 0 and 59.

Parameters:
  `seconds` - an integer between 0 and 59
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### setTime

    public void setTime​(int hours,
                        int minutes,
                        int seconds)

Sets the receiver's hours, minutes, and seconds in a single operation.

Parameters:
  `hours` - an integer between 0 and 23
  `minutes` - an integer between 0 and 59
  `seconds` - an integer between 0 and 59
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
Since:
  3.4

#### setYear

    public void setYear​(int year)

Sets the receiver's year.

The first year is 1752 and the last year is 9999. If the specified year is not valid for the receiver's day and month, then it is ignored.

Parameters:
  `year` - an integer between 1752 and 9999
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
See Also:
  `setDate(int, int, int)`