DateField Class
This class allows us to handle dates and times in our forms, using the java.util.Date class. The constructor is like this:
DateField (String label, int mode)
- Mode: we can define which fields we want to edit, DATE, TIME or DATE_TIME.
package my.demo; import java.util.Date; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.DateField; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Form; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; public class HelloWorld extends MIDlet implements CommandListener { private Display myDisplay; private Form myForm= new Form("Form"); private Command exitCommand = new Command("Exit", Command.EXIT,1); private DateField myDateField, myDate, myTime; public HelloWorld() { myDisplay = Display.getDisplay(this); myDateField = new DateField("DateTime", DateField.DATE_TIME); myDate = new DateField("Date", DateField.DATE); myTime = new DateField("Time", DateField.TIME); myDateField.setDate(new Date()); myDate.setDate(new Date()); myTime.setDate(new Date()); myForm.append(myDateField); myForm.append(myDate); myForm.append(myTime); myForm.addCommand(exitCommand); myForm.setCommandListener(this); } protected void destroyApp(boolean arg0) throws MIDletStateChangeException { notifyDestroyed(); } protected void pauseApp() { } protected void startApp() throws MIDletStateChangeException { myDisplay.setCurrent(myForm); } public void commandAction(Command c, Displayable d) { if (c==exitCommand) { try { destroyApp(false); } catch (MIDletStateChangeException e) { e.printStackTrace(); } } } }
When executing this MIDlet, our initial screen will show something like this:
When editing the DateTime:
When editing the Date:
When editing the Time:
ChoiceGroup Class
This class allows us to display a group of options within a form. It is similar to the List class. It has two constructors:
ChoiceGroup (String label, int type)
ChoiceGroup (String label, int type, String[] elements, Image[] images)
package my.demo; import javax.microedition.lcdui.ChoiceGroup; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Form; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; public class HelloWorld extends MIDlet implements CommandListener { private Display myDisplay; private Form myForm= new Form("Form"); private Form formOptionSelected; private Command exitCommand = new Command("Exit", Command.EXIT,1); private Command backCommand = new Command("Back", Command.BACK,1); private Command selectCommand = new Command("Select", Command.OK,1); private String[] options = {"Option A","Option B", "Option C"}; private ChoiceGroup myChoiceGroup; public HelloWorld() { myDisplay = Display.getDisplay(this); myChoiceGroup = new ChoiceGroup("Choice group:", ChoiceGroup.MULTIPLE, options, null); myForm.append(myChoiceGroup); myForm.addCommand(exitCommand); myForm.addCommand(selectCommand); myForm.setCommandListener(this); } protected void destroyApp(boolean arg0) throws MIDletStateChangeException { notifyDestroyed(); } protected void pauseApp() { } protected void startApp() throws MIDletStateChangeException { myDisplay.setCurrent(myForm); } public void commandAction(Command c, Displayable d) { if (c==exitCommand) { try { destroyApp(false); } catch (MIDletStateChangeException e) { e.printStackTrace(); } } else if (c==backCommand) { myDisplay.setCurrent(myForm); } else if (c==selectCommand) { String selectedOptions = ""; boolean[] selectedItems = new boolean[myChoiceGroup.size()]; myChoiceGroup.getSelectedFlags(selectedItems); for (int i=0;i<myChoiceGroup.size();i++) { if (selectedItems[i]) { selectedOptions = selectedOptions + options[i] + "\n"; } } formOptionSelected = new Form ("Selected Options:"); formOptionSelected.append(selectedOptions); formOptionSelected.addCommand(backCommand); formOptionSelected.setCommandListener(this); myDisplay.setCurrent(formOptionSelected); } } }
When executing this MIDlet, our initial screen will show something like this:
When multiple options are selected, and select them, the following screen is shown.