Tarih girişleri yazılımcılar için her zaman sorun olmuştur. Tarih girişi için kullanıcı dd/mm/yyyy, dd.mm.yyyy gibi formatlar kullanabilir. TextField gibi alanlarda bunu anlamamız sorun olur sonuç olarak girilen ilk veya ilk iki değer gün yada ay olabilir. DateField J2ME ortamında bu girişleri konutrollü bir şekilde yapmamızı sağlar. Bu telefonun özelliklerine göre formatlı bir giriş ekranı yada takvim nesnesi olabilir .
Kullanım şekli:
Label, TextField’ ta olduğu gibi input alanının açıklama etiketini oluşturur. Mode giriş ekranımızın hangi tipte olacağıdır.
Bileşenimizi kod olarak örneklendirecek olursak.
Uygulamamızın çıktısı aşağıdaki gibi olur.

DateField bileşeni form ekranımızda yukarıdaki gibi görünür ancak giriş yapılmak istendiğinde aşağıdaki şekli alır. Emilatör ortamında böyle görünmesine karşın yüksek seviye bir bileşen olduğundan farklı telefonlarda farklı şekillerde görünebilir. Örnek olarak bu çıktı ericsson ortamında çok daha farklıdır.

Mod tiplerini yine DateField sınıfından alabiliriz.
DateField.TIME - Saat
DateField.DATE - Tarih
DateField.DATE_TIME - Tarih ve Saat
Yukarıdaki mod seçenekleri ile veri girişlerimizi daha kullanılabilir hale getirebiliriz. Veri girişleri sonrasında Date tipinde bir değişken döner.
DateField mod seçeneklerini tek tek inceleyecek olursak.

DateField.DATE

DateField.DATE_TIME

DATE_TIME mod her iki veri girişinede imkan sağladığından seçilen Date ve Time liklerinde iki tip bileşende görünecektir.
setLabel() getLabel()
Nesnenin label özelliğine erişmeyi sağlarlar.
setInputMode() getInputMode()
DateField nesnesinin mode özelliğine erişmeye yarar. Mode TIME, DATE veya DATE_TIME olabilir.
setInputMode() metodu içerisinde atanan int değer DateField sınıfından alınabilir. Örnek verecek olursak.










