Mega Code Archive

 
Categories / Java / J2ME
 

StringItem Alternative

/*-------------------------------------------------- * StringItemAlternative.java * * 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 StringItemAlternative extends MIDlet implements CommandListener {   private Display display;      // Reference to Display object for this MIDlet   private Form fmMain;         // The main form   private Command cmNext;      // Next label and message   private Command cmExit;      // Command to exit the MIDlet   private int msgIndex;         // Index of our message text on form   private static int count = 0; // How many times through our loop   public StringItemAlternative()   {     display = Display.getDisplay(this);     // Create commands     cmNext = new Command("Next", Command.SCREEN, 1);     cmExit = new Command("Exit", Command.EXIT, 1);     // Create Form, add Command & message, listen for events     fmMain = new Form("Preferences");         fmMain.addCommand(cmExit);     fmMain.addCommand(cmNext);              // Save the index location of this item     msgIndex = fmMain.append("UserId: johnm");          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 == cmNext)     {       if (count++ == 0)       {         //--------------------------------         // Option # 1               // First time through this method         //--------------------------------          StringItem tmpItem = (StringItem) fmMain.get(msgIndex);          System.out.println("tmpItem.getLabel(): " + tmpItem.getLabel());          System.out.println("tmpItem.getText(): " + tmpItem.getText());                   tmpItem.setLabel("Account #: ");  //inherited from Item class          tmpItem.setText("731");       }       else       {         //--------------------------------         // Option # 2               // Second time through this method         //--------------------------------          fmMain.set(msgIndex, new StringItem("Password: ", "superPants"));                  // Remove the Update command         fmMain.removeCommand(cmNext);       }     }     else if (c == cmExit)     {       destroyApp(false);       notifyDestroyed();     }    } }