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.


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.
 String getLabel()
          Gets the label of this Item object.
 void setDate(Date date)
          Sets a new value for this field.
 void setInputMode(int mode)
          Set input mode for this date field.
 void setLabel(String label)
          Sets the label of the Item.
 
Methods inherited from class javax.microedition.lcdui.Item
addCommand, getLayout, getMinimumHeight, getMinimumWidth, getPreferredHeight, getPreferredWidth, notifyStateChanged, removeCommand, setDefaultCommand, setItemCommandListener, 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.


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.


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.

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

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

getLabel

public String getLabel()
Description copied from class: Item
Gets the label of this Item object.
Overrides:
getLabel in class Item

Following copied from class: Item
Returns:
the label string

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

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

setLabel

public void setLabel(String label)
Description copied from class: Item
Sets the label of the Item. If label is null, specifies that this item has no label.
Overrides:
setLabel in class Item

Following copied from class: Item
Parameters:
label - the label string



Copyright 1999-2009 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Copyright 1993-2003 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.