Mega Code Archive

 
Categories / Java / J2ME
 

Verify Area Code

/*-------------------------------------------------- * VerifyAreaCode.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 VerifyAreaCode extends MIDlet implements CommandListener {   private Display display;      // Reference to Display object   private Form fmMain;         // The main form   private Command cmTest;      // Next label and message   private Command cmExit;      // Command to exit the MIDlet   private TextField tfPhone;   // Phone number   private String areaCodeTable [][] = {                                     {"512", "912"}, // Old area code, new area code                                     {"717", "917"} };           public VerifyAreaCode()   {     display = Display.getDisplay(this);     // Create commands     cmTest = new Command("Test", Command.SCREEN, 1);     cmExit = new Command("Exit", Command.EXIT, 1);     // Textfield for phone number     tfPhone = new TextField("Phone:", "", 10, TextField.PHONENUMBER);     // Create Form, add Commands & textfield, listen for events     fmMain = new Form("Area Codes");         fmMain.addCommand(cmExit);     fmMain.addCommand(cmTest);         fmMain.append(tfPhone);     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 == cmTest)     {       if (tfPhone.size() == 10)       {         char buffer[] = new char[10];         // Get phone number into byte array                  tfPhone.getChars(buffer);         // Call method to check the area code table.         // Create a new StringItem to display,          // passing in 'null' as the StringItem         StringItem tmp = new StringItem(null, ("The area code " + (areaCodeLookup(buffer) ? "has" : "has not") + " been updated."));                  // Place at the end of the form         if (fmMain.size() == 1)  // Only tfPhone on form           fmMain.append(tmp);         else                      // Replace previous StringItem           fmMain.set(1, tmp);       }     }     else if (c == cmExit)     {       destroyApp(false);       notifyDestroyed();     }    }   /*--------------------------------------------------   * Compare the area code the user entered with the    * area code table. If a match is found, replace   * the user's code with the new code from the table   *-------------------------------------------------*/     private boolean areaCodeLookup(char [] buffer)   {     // Get the area code (only) from the users entry     String str = new String(buffer, 0, 3);          for (int x = 0; x < areaCodeTable.length; x++)     {       // If we find a match in the table       if (str.equals(areaCodeTable[x][0]))       {         // Delete the area code         tfPhone.delete(0, 3);                  // Insert the new area code         tfPhone.insert(areaCodeTable[x][1].toCharArray(), 0, 3, 0);         return true;       }     }     return false;   } }