Form Juggle : Form « J2ME « Java






Form Juggle

Form Juggle
/*--------------------------------------------------
* FormJuggle.java
*
* Show how a Form component handles inserting and
* setting (replacing) Items
*
* Example from the book:     Core J2ME Technology
* Copyright John W. Muchow   http://www.CoreJ2ME.com
* You may use/modify for any non-commercial purpose
*-------------------------------------------------*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class FormJuggle extends MIDlet implements CommandListener
{
  private Display display;      // Reference to display object 
  private Form fmMain;          // The main form
  private Command cmInsert;     // Command to insert items
  private DateField dfDate;     // Display date
  private TextField tfSize;     // Product size
  private TextField tfQuantity; // Product quantity
  private int dateIndex;        // Index of dfDate 

  public FormJuggle()
  {
    display = Display.getDisplay(this);

    // Create the date and populate with current date
    dfDate = new DateField("", DateField.DATE);
    dfDate.setDate(new java.util.Date());

    // Define two textfields and two commands
    tfSize = new TextField("Size", "Large", 5, TextField.ANY); 
    tfQuantity = new TextField("Quantity:", "3", 2, TextField.NUMERIC); 
    cmInsert = new Command("Insert", Command.SCREEN, 1);

    // Create the form, add insert command
    fmMain = new Form("Form Stuff");
    fmMain.addCommand(cmInsert);
  
    // Append date to form & save index value where it was inserted
    dateIndex = fmMain.append(dfDate);

    // Capture events
    fmMain.setCommandListener(this);    
  }

  // Called by application manager to start the MIDlet.
  public void startApp()
  {
    display.setCurrent(fmMain);
  }

  public void pauseApp()
  { }
  
  public void destroyApp(boolean unconditional)
  { }

  public void commandAction(Command c, Displayable s)
  {
    if (c == cmInsert)
    {
      // One item on form, insert textfield prior to datefield
      if (fmMain.size() == 1)
      {
        fmMain.insert(dateIndex, tfQuantity);     
        dateIndex += 1;   // Date index has changed, update it
      }
      // If two items and last item is datefield, replace it
      else if (fmMain.size() == 2 && fmMain.get(1) == dfDate)
        fmMain.set(dateIndex, tfSize);
    }
  }
}





           
       








Related examples in the same category

1.Create Form With Items Create Form With Items
2.GUI Test in MIDletGUI Test in MIDlet
3.Login MidletLogin Midlet
4.Verify Area CodeVerify Area Code
5.Change Label TextChange Label Text
6.Form ScrollForm Scroll
7.Form Example MIDletForm Example MIDlet
8.Display StatsDisplay Stats
9.Read Display FileRead Display File