Mega Code Archive

 
Categories / Java Tutorial / J2ME
 

Add or remove controls from a form

import java.io.IOException; import javax.microedition.lcdui.Alert; import javax.microedition.lcdui.AlertType; 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.lcdui.Image; import javax.microedition.lcdui.List; import javax.microedition.lcdui.TextField; import javax.microedition.lcdui.Ticker; import javax.microedition.midlet.MIDlet; public class MIDPApplication extends MIDlet implements CommandListener {   Ticker newsTicker = new Ticker("Java J2ME");   private List menuList = new List(null, List.IMPLICIT, menuItem, menuImage);   private List luckyList;   private List commList;   private Command exitCommand = new Command("Exit", Command.EXIT, 1);   private Command execCommand = new Command("Exe", Command.OK, 1);   private Command menuCommand = new Command("Main", Command.SCREEN, 1);   private Command commCommand = new Command("Contact", Command.SCREEN, 1);   private Command luckyCommand = new Command("Plan", Command.SCREEN, 1);   private Command saveCommand;   String[] menuItem = { "Contact", "Plan" };   String[] commItem = { "Add", "Search", "Edit", "Delete" };   String[] luckyItem = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L" };   Image[] menuImage = { createImage("/S.png"), createImage("/T.png") };   private Display display = Display.getDisplay(this);   private String currentScreen = "";   public void startApp() {     menuList.setTicker(newsTicker);     menuList.addCommand(exitCommand);     menuList.setCommandListener(this);     display.setCurrent(menuList);     currentScreen = "Main";   }   public void pauseApp() {   }   public void destroyApp(boolean unconditional) {   }   public void commandAction(Command c, Displayable s) {     if (c == exitCommand) {       destroyApp(false);       notifyDestroyed();     }     if (c == List.SELECT_COMMAND) {       if (currentScreen == "Main") {         int itemIndex = menuList.getSelectedIndex();         switch (itemIndex) {         case 0: {           doCommunication();           break;         }         case 1:           doLucky();         }       } else if (currentScreen == "Contact") {         int itemIndex = commList.getSelectedIndex();         switch (itemIndex) {         case 0: {           doAppend();           break;         }         case 1: {           doQuery();           break;         }         case 2: {           doModification();           break;         }         case 3: {           doDelete();           break;         }       } else {       }     }     if (c == menuCommand) {       display.setCurrent(menuList);       currentScreen = "Main";     }     if (c == commCommand) {       doCommunication();     }     if (c == luckyCommand) {       doLucky();     }     if (c == menuCommand) {       doMenu();     }     if (c == execCommand) {       if (currentScreen == "Plan") {         showLucky();       }     }   }   private Image createImage(String name) {     Image aImage = null;     try {       aImage = Image.createImage(name);     } catch (IOException e) {     }     return aImage;   }   private void doMenu() {     currentScreen = "Main";     display.setCurrent(menuList);   }   private void doCommunication() {     Image[] commIcon = { createImage("/S.png"), createImage("/Sk.png"),         createImage("/M.png"), createImage("/T.png") };     commList = new List("Contact", List.IMPLICIT, commItem, commIcon);     commList.addCommand(luckyCommand);     commList.addCommand(menuCommand);     commList.setCommandListener(this);     currentScreen = "Contact";     display.setCurrent(commList);   }   private void doLucky() {     luckyList = new List("Plan", List.EXCLUSIVE, luckyItem, null);     luckyList.addCommand(commCommand);     luckyList.addCommand(menuCommand);     luckyList.addCommand(execCommand);     luckyList.setCommandListener(this);     currentScreen = "Plan";     display.setCurrent(luckyList);   }   private void showLucky() {     int selectedItem = luckyList.getSelectedIndex();     Alert alert;     String information = "";     switch (selectedItem) {     case 0: {       information = "A";       break;     }     case 1: {       information = "B";       break;     }     case 2: {       information = "C";       break;     }     case 3: {       information = "D";       break;     }     case 4: {       information = "E";       break;     }     case 5: {       information = "F";       break;     }     case 6: {       information = "G";       break;     }     case 7: {       information = "H";       break;     }     case 8: {       information = "I";       break;     }     case 9: {       information = "J";       break;     }     case 10: {       information = "K";       break;     }     case 11: {       information = "L";       break;     }     alert = new Alert("Info", information, null, AlertType.INFO);     alert.setTimeout(Alert.FOREVER);     display.setCurrent(alert);   }   private void doAppend() {     Form appendForm = new Form("Add");     saveCommand = new Command("Save", Command.SCREEN, 1);     TextField nameField = new TextField("Name", null, 10, TextField.ANY);     TextField EMailField = new TextField("E Mail", null, 10, TextField.EMAILADDR);     TextField ageField = new TextField("Age", null, 10, TextField.NUMERIC);     appendForm.append(nameField);     appendForm.append(EMailField);     appendForm.append(ageField);     appendForm.addCommand(saveCommand);     appendForm.addCommand(commCommand);     appendForm.addCommand(luckyCommand);     appendForm.setCommandListener(this);     currentScreen = "ContactAdd";     display.setCurrent(appendForm);   }   private void doModification() {     Form modificationForm = new Form("Edit");     TextField nameField = new TextField("Name", null, 10, TextField.ANY);     modificationForm.append(nameField);     modificationForm.addCommand(execCommand);     modificationForm.addCommand(commCommand);     modificationForm.addCommand(luckyCommand);     modificationForm.setCommandListener(this);     currentScreen = "ContactEdit";     display.setCurrent(modificationForm);   }   private void doQuery() {     Form queryForm = new Form("Search");     TextField nameField = new TextField("Name", null, 10, TextField.ANY);     queryForm.append(nameField);     queryForm.addCommand(execCommand);     queryForm.addCommand(commCommand);     queryForm.addCommand(luckyCommand);     queryForm.setCommandListener(this);     currentScreen = "ContactSearch";     display.setCurrent(queryForm);   }   private void doDelete() {     Form deleteForm = new Form("Delete");     TextField nameField = new TextField("Name", null, 10, TextField.ANY);     deleteForm.append(nameField);     deleteForm.addCommand(execCommand);     deleteForm.addCommand(commCommand);     deleteForm.addCommand(luckyCommand);     deleteForm.setCommandListener(this);     currentScreen = "ContactDelete";     display.setCurrent(deleteForm);   } }