Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| MID Profile
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.microedition.lcdui
Class DateField

    java.lang.Object
      javax.microedition.lcdui.Item
          javax.microedition.lcdui.DateField

public class DateField
extends Item

A `DateField` is an editable component for presenting date and time (calendar) information that may be placed into a `Form`. Value for this field can be initially set or left unset. If value is not set then the UI for the field shows this clearly. The field value for "not initialized state" is not valid value and `getDate()` for this state returns `null`.

Instance of a `DateField` can be configured to accept date or time information or both of them. This input mode configuration is done by `DATE`, `TIME` or `DATE_TIME` static fields of this class. `DATE` input mode allows to set only date information and `TIME` only time information (hours, minutes). `DATE_TIME` allows to set both clock time and date values.

In `TIME` input mode the date components of `Date` object must be set to the "zero epoch" value of January 1, 1970.

Calendar calculations in this field are based on default locale and defined time zone. Because of the calculations and different input modes date object may not contain same millisecond value when set to this field and get back from this field.

Since:
  MIDP 1.0

Field Summary
`static int` | `DATE` Input mode for date information (day, month, year).
`static int` | `DATE_TIME` Input mode for date (day, month, year) and time (minutes, hours) information.
`static int` | `TIME` Input mode for time information (hours and minutes).

Fields inherited from class javax.microedition.lcdui.Item
`BUTTON, HYPERLINK, LAYOUT_2, LAYOUT_BOTTOM, LAYOUT_CENTER, LAYOUT_DEFAULT, LAYOUT_EXPAND, LAYOUT_LEFT, LAYOUT_NEWLINE_AFTER, LAYOUT_NEWLINE_BEFORE, LAYOUT_RIGHT, LAYOUT_SHRINK, LAYOUT_TOP, LAYOUT_VCENTER, LAYOUT_VEXPAND, LAYOUT_VSHRINK, PLAIN`

Constructor Summary
`DateField(String label, int mode)` Creates a `DateField` object with the specified label and mode.
`DateField(String label, int mode, TimeZone timeZone)` Creates a date field in which calendar calculations are based on specific `TimeZone` object and the default calendaring system for the current locale.

Method Summary
`Date` | `getDate()` Returns date value of this field.
`int` | `getInputMode()` Gets input mode for this date field.
`void` | `setDate(Date date)` Sets a new value for this field.
`void` | `setInputMode(int mode)` Set input mode for this date field.

Methods inherited from class javax.microedition.lcdui.Item
`addCommand, getLabel, getLayout, getMinimumHeight, getMinimumWidth, getPreferredHeight, getPreferredWidth, notifyStateChanged, removeCommand, setDefaultCommand, setItemCommandListener, setLabel, setLayout, setPreferredSize`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### DATE

    public static final int DATE

  Input mode for date information (day, month, year). With this mode this `DateField` presents and allows only to modify date value. The time information of date object is ignored.

  Value `1` is assigned to `DATE`.

  See Also:
    Constant Field Values

### TIME

    public static final int TIME

  Input mode for time information (hours and minutes). With this mode this `DateField` presents and allows only to modify time. The date components should be set to the "zero epoch" value of January 1, 1970 and should not be accessed.

  Value `2` is assigned to `TIME`.

  See Also:
    Constant Field Values

### DATE_TIME

    public static final int DATE_TIME

  Input mode for date (day, month, year) and time (minutes, hours) information. With this mode this `DateField` presents and allows to modify both time and date information.

  Value `3` is assigned to `DATE_TIME`.

  See Also:
    Constant Field Values

Constructor Detail

### DateField

    public DateField(String label,
                     int mode)

  Creates a `DateField` object with the specified label and mode. This call is identical to `DateField(label, mode, null)`.

Parameters:
  `label` - item label
  `mode` - the input mode, one of `DATE`, `TIME` or `DATE_TIME`
Throws:
  `IllegalArgumentException` - if the input `mode's` value is invalid

### DateField

    public DateField(String label,
                     int mode,
                     TimeZone timeZone)

  Creates a date field in which calendar calculations are based on specific `TimeZone` object and the default calendaring system for the current locale. The value of the `DateField` is initially in the "uninitialized" state. If `timeZone` is `null`, the system's default time zone is used.

Parameters:
  `label` - item label
  `mode` - the input mode, one of `DATE`, `TIME` or `DATE_TIME`
  `timeZone` - a specific time zone, or `null` for the default time zone
Throws:
  `IllegalArgumentException` - if the input `mode's` value is invalid

Method Detail

### getDate

    public Date getDate()

  Returns date value of this field. Returned value is `null` if field value is not initialized. The date object is constructed according the rules of locale specific calendaring system and defined time zone. In `TIME` mode field the date components are set to the "zero epoch" value of January 1, 1970. If a date object that presents time beyond one day from this "zero epoch" then this field is in "not initialized" state and this method returns `null`. In `DATE` mode field the time component of the calendar is set to zero when constructing the date object.

  Returns:
    date object representing time or date depending on input mode
  See Also:
    `setDate(java.util.Date)`

### setDate

    public void setDate(Date date)

  Sets a new value for this field. `null` can be passed to set the field state to "not initialized" state. The input mode of this field defines what components of passed `Date` object is used.

  In `TIME` input mode the date components must be set to the "zero epoch" value of January 1, 1970. If a date object that presents time beyond one day then this field is in "not initialized" state. In `TIME` input mode the date component of `Date` object is ignored and time component is used to precision of minutes.

  In `DATE` input mode the time component of `Date` object is ignored.

  In `DATE_TIME` input mode the date and time component of `Date` are used but only to precision of minutes.

  Parameters:
    `date` - new value for this field
  See Also:
    `getDate()`

### getInputMode

    public int getInputMode()

  Gets input mode for this date field. Valid input modes are `DATE`, `TIME` and `DATE_TIME`.

  Returns:
    input mode of this field
  See Also:
    `setInputMode(int)`

### setInputMode

    public void setInputMode(int mode)

  Set input mode for this date field. Valid input modes are `DATE`, `TIME` and `DATE_TIME`.

  Parameters:
    `mode` - the input mode, must be one of `DATE`, `TIME` or `DATE_TIME`
  Throws:
    `IllegalArgumentException` - if an invalid value is specified
  See Also:
    `getInputMode()`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| MID Profile
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a comment or suggestion Version 2.0 of MID Profile Specification
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries. Copyright (c) 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road,Palo Alto, California, 94303, U.S.A. All Rights Reserved.